A patent application for “Method and Apparatus for Mirroring Non-Compliant Storage to Compliant Storage”, filed on Sep. 1, 2004, having the application Ser. No. 10/932,683, is hereby incorporated by reference in its entirety.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The invention generally relates to data storage, and specifically to maintaining compliant data storage of unstructured data.
There are a number of regulations that require a variety of data records be available for retrieval, for a specified period of time, from non-modifiable, non-erasable archives. For example, Securities and Exchange Commission (SEC) Rule 17a-4 (i.e., 17 C.F.R. §240.17a-4) requires that certain stock exchange members, brokers, and dealers maintain certain records for a period of time (typically three or seven years). Rule 17a-4 (hereinafter “the Rule,” which may also encompass any other data permanence regulation) encompasses computerized records, such as e-mail and application documents (such as documents produced by Microsoft® Word® or Excel®). This data must therefore be archived for the period of time specified by the Rule in order to comply with the Rule.
Compliant storage is used to store the data required by the Rule. “Compliant” storage refers to data storage that complies with the Rule. “Non-compliant” storage refers to data storage that does not comply with the Rule. Compliance generally requires that the data must be archived and cannot be deleted or modified until the end of the period for which it must be retained. The data must also be retrievable in a reasonable period of time.
There are generally two types of computer records—those that are static and those that are frequently modified. E-mail is an example of static computer records. An e-mail sender composes and distributes an e-mail to one or more e-mail recipients. The recipients can either retain or delete the original e-mail. The recipients cannot modify the original e-mail. One or more recipients may reply to the e-mail, but the reply constitutes a discrete new record. Microsoft® Word® or Excel® documents are examples of frequently modified data. A user may work on the same document over a period of time. That user may choose to rewrite entire sections of the document. Over the course of its existence, a user may create hundreds or thousands of unique versions of that file that can be printed, viewed, or analyzed. The primary difference between static and modifiable documents is the notion of publication. An email recipient has received a published record. It has been distributed in a completed form. A Microsoft® Word® document, however, does not undergo such a publication event. Therefore, since a large percentage of computer data can easily be modified, several different versions of each document may need to be archived in order to comply with the Rule. Compliant storage therefore generates a copy of each document at a predetermined “reasonable” interval, for example, once a day. Compliant storage also requires that every copy must be non-deletable before the expiration of the period for which the copy must be maintained. Typical compliant storage includes optical and magnetic (tape) media.
Databases are considered structured data, and e-mail data is considered semi-structured. Databases and other structured data can easily be stored using the application 104, and the compliant storage 106. The system 100 searches for new e-mail messages, and archives them. Since the e-mail database is semi-structured, and the e-mail data can easily be organized by the date of creation, the application 104 can easily determine the changes made since the last archive was created. Unstructured data, such as application files including word processing or spreadsheet files, cannot be archived using the system 100, because the application is unable to determine what changes have been made to the documents. As a result, unstructured data is typically archived in a compliant manner by performing full system backups to the compliant storage 106 on a regular basis.
Performing and maintaining frequent full system backups for several years, is both resource intensive and expensive. A storage server that requires archival may include tens of terabytes (TB) of data. If compliant backups are performed daily, then more than one thousand multi-TB backups would have to be maintained concurrently to comply with the Rule. The backups consume thousands of pieces of discrete media to be tracked, maintained, and kept available for retrieval.
Furthermore, during an investigation, the SEC may also require the stock exchange member, broker, or dealer under investigation to produce the records made on a specific date. System administrators managing the backups must search through the compliant media to locate the requisite data. The scale of search makes it difficult to fulfill the requirement that the data must be obtained within a short period of time to comply with the investigation.
What is needed is a method and apparatus for easily storing and retrieving archival documents to comply with the Rule.
The present invention includes methods and apparatuses for maintaining compliant storage. In one method, a request to delete a point-in-time image is received. A data structure including a retention date for the point-in-time image is then referenced. The point-in-time image is deleted if a current date is later than the retention date.
Other aspects of the invention will be apparent from the accompanying figures and from the detailed description which follows.
One or more embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
Described herein are methods and apparatuses for maintaining compliant storage. Note that in this description, references to “one embodiment” or “an embodiment” mean that the feature being referred to is included in at least one embodiment of the present invention. Further, separate references to “one embodiment” or “an embodiment” in this description do not necessarily refer to the same embodiment. However, such embodiments are also not mutually exclusive unless so stated, and except as will be readily apparent to those skilled in the art from the description. For example, a feature, structure, act, etc. described in one embodiment may also be included in other embodiments. Thus, the present invention can include a variety of combinations and/or integrations of the embodiments described herein.
According to an embodiment of the invention, a storage server is mirrored onto a mirroring server. The mirroring server maintains point-in-time images of data stored on the storage server. The point-in-time images have a retention period. During the retention period, the point-in-time images must be maintained to comply with 17 C.F.R. 240.17a-4 (the “Rule”). It should be appreciated that other rules such as 17 C.F.R. 240.17a-3 or other regulations may be used with embodiments of the invention. When a command to delete a point-in-time image is issued, the file system of the mirroring server references a table including a list of point-in-time images and their retention dates. If the current date is greater than the retention date, the point-in-time image is deleted. If the current date is less than the retention date, the point-in-time image cannot be deleted.
Mirroring may be synchronous or asynchronous. In a synchronous mirroring relationship, every change that is made to the volume maintained by the source is written to the mirrored volume on the destination before the source considers the data to be written. Using an asynchronous relationship, the destination periodically updates the mirror using changes made to the source since the last update. Embodiments of this invention are described using asynchronous mirroring. However, it is understood that synchronous mirroring may also be used.
Several clients 206 are connected to the storage server 202. The storage server 202 and mirroring server 204 are connected through a network connection 212. The clients 206 are individual workstations that store data on the storage server 202. The storage server 202 may be a file server, or filer, such as those manufactured by Network Appliance, Inc., located in Sunnyvale, Calif. (NetApp®). The storage server 202 maintains centralized data storage for the several clients 206. The clients 206 may use several different interfaces, such as the Small Computer System Interface, (iSCSI), Transmission Control Protocol (TCP), Network File System (NFS), and Common Internet File System (CMS) to communicate with the storage server 202. The storage server 202 may maintain one or more volumes 208 that include data such as Microsoft Word® documents 210a and other documents 210b that may include unstructured data stored by the storage server 202. According to one embodiment, the volumes 208 and the documents 210a and 210b do not comply with the Rule or other regulation. The documents 210a and 210b can generally be modified or deleted, since the storage server 202 is used as storage for the clients 206.
The mirroring server 204 may be maintained at a different physical location than the storage server 202. The network 212 may be a local area network (LAN), or a wide area network (WAN) such as the Internet. If the mirroring server 204 is maintained at a separate location physically remote to the storage server 202 certain conditions that affect the storage server 202 (such as power outages) may not affect the mirroring server 204.
The mirroring server 204 may also be a file server such as a filer. According to one embodiment of the invention, the mirroring server 204 includes less expensive physical storage than the storage used for the storage server 202 to reduce the cost of the mirroring server 204 and increase the amount of storage available. The mirroring server 204 maintains a mirror 214 of the volume 208 maintained by the storage server 202. The mirroring server 204 also maintains a volume 216 of point-in-time images 218. The point-in-time images 218, as will be explained below, are images of the mirrored volume 214 that can be used to recreate the state of the mirrored system at a specific point-in-time. For example, a point-in-time image 218 may be able to recreate every file in the mirrored volume 214 as it was on Apr. 15, 2004. According to an embodiment of the invention, the point-in-time images 218 comply with the Rule or other regulation. According to this embodiment, the system 200 generates compliant point-in-time images 218.
The processor 302 is the central processing unit (CPU) of the filer 300 and, thus, controls the overall operation of the filer 300. In certain embodiments, the processor 302 accomplishes this by executing software stored in main memory 304. The processor 302 may be, or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such devices.
The main memory 304, which is generally some form of random access memory (RAM), stores at least a portion of the operating system 308 of the filer 300. Techniques of the present invention may be implemented within the operating system 308, as described further below. The operating system 308 may be, for example, the ONTAP operating system by NetApp®. Also connected to the processor 302 through the bus system 306 are a network adapter 310 and a storage adapter 312. The network adapter 310 provides the filer 300 with the ability to communicate with remote devices, such as clients and/or another filer, over a network and may be, for example, an Ethernet adapter. The storage adapter 312 allows the filer to access the external mass storage devices and may be, for example, a Fibre Channel (FC) adapter or SCSI adapter.
The operating system 308 also includes a user interface 406, through which a network administrator or other user can control and/or configure the filer 300 of
The client side of the operating system 308 includes a network access layer 408 and, at the lowest level, a media access layer 410. The network access layer 408 implements any of various protocols used to communicate with client devices, such as network file system (NFS), common Internet file system (CIFS) and/or hypertext transport protocol (HTTP). The media access layer 410 includes one or more drivers which implement the protocols used to communicate over the network, such as Ethernet.
On the storage device side, the operating system 308 includes a storage access layer 412 and, at the lowest level, a driver layer 414. The storage access layer 412 implements a disk storage protocol such as RAID, while the driver layer 414 implements a lower-level storage device access protocol, such as Fibre Channel or SCSI.
The operating system of 308 also includes a mirroring module 416, which is operatively coupled to the file system 402 and the storage access layer 412. The mirroring module 416 controls the synchronization of data at the remote secondary site with data stored at the primary site. The techniques introduced herein may be implemented at least partially using the mirroring module 416.
When the first point-in-time image 218 (see
The point-in-time image includes pointers to recreate the several files stored by the storage server 202 of
When a point-in-time image is made, the blocks to which the point-in-time image refers are “locked.” When the blocks are locked, according to embodiments of the invention, they cannot be deleted until the retention period has expired. Further, they also cannot be modified. When a block is modified on the storage server 202 of
The point-in-time images 218 are made according to a specified scheduling criterion. For example, the criterion may be a predetermined or regular interval, such as once daily. The criterion may be determined so as to comply with the Rule. For example, the criterion may be chosen so that the point-in-time images 218 are created at a “reasonable” interval.
The process 600 describes the actions taken by the file system 402 (see
In block 604, the process 600 determines which point-in-time image 218 (see
In block 606, the process 600 calls the table 650, as shown in
In block 608, it is determined whether the current date is greater than the retention date. If it is later than the retention date found in the column 654, then, in block 610, the point-in-time image is deleted. If the current date is prior to the retention date, then in block 612, the point-in-time image 218 (see
The process 600 can be used to ensure that the point-in-time images 218 (see
According to one embodiment of the invention, the retention period may be chosen using several pull-down menus 704. According to the embodiment, in order to maintain compliance with the Rule, the control panel 700 may disallow any retention time less than would be necessary for compliance. For example, if a system administrator chose a two-year retention time where three were necessary, the control panel 700 could prevent the system administrator from selecting that retention time and issue an error message.
The control panel 700 may also include several radio buttons 706 that can be used to select times according to the type of data. For example, a point-in-time image may point to data subject to Rule 17a-4(a)(10). If the system administrator were to choose the radio button corresponding to that rule, the control panel 700 would automatically choose the correct retention period. The system administrator could then lengthen the retention period if necessary.
The control panel 700 may also include a button 708 that can freeze the point-in-image 218 (see
It is understood that the control panel 700 may be have several configurations other than the one shown. For example, the control panel 700 may be implemented using a text-based parser or through a physical interface. The control panel 700 may also include other commands or choices.
The techniques introduced above have been described in the context of a network attached storage (NAS) environment. However, these techniques can also be applied in various other contexts. For example, the techniques introduced above can be applied in a storage area network (SAN) environment. A SAN is a highly efficient network of interconnected, shared storage devices. One difference between NAS and SAN is that in a SAN, the storage server (which may be an appliance) provides a remote host with block-level access to stored data, whereas in a NAS configuration, the storage server provides clients with file-level access to stored data. Thus, the techniques introduced above are not limited to use in a file server or in a NAS environment.
This invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident to persons having the benefit of this disclosure that various modifications changes may be made to these embodiments without departing from the broader spirit and scope of the invention. The specification and drawings are accordingly to be regarded in an illustrative rather than in a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
4635145 | Horie et al. | Jan 1987 | A |
4727512 | Birkner et al. | Feb 1988 | A |
4775969 | Osterlund | Oct 1988 | A |
5163148 | Walls | Nov 1992 | A |
5235695 | Pence | Aug 1993 | A |
5269022 | Shinjo et al. | Dec 1993 | A |
5297124 | Plotkin et al. | Mar 1994 | A |
5438674 | Keele et al. | Aug 1995 | A |
5455926 | Keele et al. | Oct 1995 | A |
5485321 | Leonhardt et al. | Jan 1996 | A |
5555371 | Duyanovich et al. | Sep 1996 | A |
5638509 | Dunphy et al. | Jun 1997 | A |
5666538 | DeNicola | Sep 1997 | A |
5673382 | Cannon et al. | Sep 1997 | A |
5774292 | Georgiou et al. | Jun 1998 | A |
5774643 | Lubbers et al. | Jun 1998 | A |
5774715 | Madany et al. | Jun 1998 | A |
5805864 | Carlson et al. | Sep 1998 | A |
5809511 | Peake | Sep 1998 | A |
5809543 | Byers et al. | Sep 1998 | A |
5835953 | Ohran | Nov 1998 | A |
5854720 | Shrinkle et al. | Dec 1998 | A |
5857208 | Ofek | Jan 1999 | A |
5864346 | Yokoi et al. | Jan 1999 | A |
5872669 | Morehouse et al. | Feb 1999 | A |
5875479 | Blount et al. | Feb 1999 | A |
5911779 | Stallmo et al. | Jun 1999 | A |
5949970 | Sipple et al. | Sep 1999 | A |
5961613 | DeNicola | Oct 1999 | A |
5963971 | Fosler et al. | Oct 1999 | A |
5974424 | Schmuck et al. | Oct 1999 | A |
6021408 | Ledain et al. | Feb 2000 | A |
6021491 | Renaud | Feb 2000 | A |
6023709 | Anglin et al. | Feb 2000 | A |
6029179 | Kishi | Feb 2000 | A |
6041329 | Kishi | Mar 2000 | A |
6044442 | Jesionowski | Mar 2000 | A |
6049848 | Yates et al. | Apr 2000 | A |
6061309 | Gallo et al. | May 2000 | A |
6067587 | Miller et al. | May 2000 | A |
6070224 | LeCrone et al. | May 2000 | A |
6098148 | Carlson | Aug 2000 | A |
6128698 | Georgis | Oct 2000 | A |
6131142 | Kamo et al. | Oct 2000 | A |
6131148 | West et al. | Oct 2000 | A |
6134660 | Boneh et al. | Oct 2000 | A |
6163856 | Dion et al. | Dec 2000 | A |
6173293 | Thekkath et al. | Jan 2001 | B1 |
6173359 | Carlson et al. | Jan 2001 | B1 |
6195730 | West | Feb 2001 | B1 |
6225709 | Nakajima et al. | May 2001 | B1 |
6247096 | Fisher et al. | Jun 2001 | B1 |
6260110 | LeCrone et al. | Jul 2001 | B1 |
6266784 | Hsiao et al. | Jul 2001 | B1 |
6269423 | Kishi | Jul 2001 | B1 |
6269431 | Dunham | Jul 2001 | B1 |
6282609 | Carlson | Aug 2001 | B1 |
6289425 | Blendermann et al. | Sep 2001 | B1 |
6292889 | Fitzgerald et al. | Sep 2001 | B1 |
6301677 | Squibb | Oct 2001 | B1 |
6304880 | Kishi | Oct 2001 | B1 |
6317814 | Blendermann et al. | Nov 2001 | B1 |
6324497 | Yates et al. | Nov 2001 | B1 |
6327418 | Barton | Dec 2001 | B1 |
6336163 | Brewer et al. | Jan 2002 | B1 |
6336173 | Day, III et al. | Jan 2002 | B1 |
6339778 | Kishi | Jan 2002 | B1 |
6341329 | LeCrone et al. | Jan 2002 | B1 |
6343342 | Carlson | Jan 2002 | B1 |
6353837 | Blumenau | Mar 2002 | B1 |
6360232 | Brewer et al. | Mar 2002 | B1 |
6389503 | Georgis et al. | May 2002 | B1 |
6397307 | Ohran | May 2002 | B2 |
6408359 | Ito et al. | Jun 2002 | B1 |
6487561 | Ofek et al. | Nov 2002 | B1 |
6496791 | Yates et al. | Dec 2002 | B1 |
6499026 | Rivette et al. | Dec 2002 | B1 |
6557073 | Fujiwara et al. | Apr 2003 | B1 |
6557089 | Reed et al. | Apr 2003 | B1 |
6578120 | Crockett et al. | Jun 2003 | B1 |
6615365 | Jenevein et al. | Sep 2003 | B1 |
6625704 | Winokur et al. | Sep 2003 | B2 |
6654912 | Viswanathan et al. | Nov 2003 | B1 |
6658435 | McCall et al. | Dec 2003 | B1 |
6694447 | Leach et al. | Feb 2004 | B1 |
6725331 | Kedem | Apr 2004 | B1 |
6766520 | Rieschl et al. | Jul 2004 | B1 |
6779057 | Masters et al. | Aug 2004 | B2 |
6779058 | Kishi et al. | Aug 2004 | B2 |
6779081 | Arakawa et al. | Aug 2004 | B2 |
6796489 | Slater et al. | Sep 2004 | B2 |
6816941 | Carlson et al. | Nov 2004 | B1 |
6816942 | Okada et al. | Nov 2004 | B2 |
6834324 | Wood | Dec 2004 | B1 |
6839843 | Bacha et al. | Jan 2005 | B1 |
6850964 | Brough et al. | Feb 2005 | B1 |
6877016 | Hart et al. | Apr 2005 | B1 |
6898600 | Fruchtman et al. | May 2005 | B2 |
6915397 | Lubbers et al. | Jul 2005 | B2 |
6931557 | Togawa et al. | Aug 2005 | B2 |
6950263 | Suzuki et al. | Sep 2005 | B2 |
6973369 | Trimmer et al. | Dec 2005 | B2 |
6973534 | Dawson et al. | Dec 2005 | B2 |
6978283 | Edwards et al. | Dec 2005 | B1 |
6978325 | Gibble et al. | Dec 2005 | B2 |
7007043 | Farmer et al. | Feb 2006 | B2 |
7020779 | Sutherland | Mar 2006 | B1 |
7032126 | Zalewski et al. | Apr 2006 | B2 |
7055009 | Factor et al. | May 2006 | B2 |
7072910 | Kahn et al. | Jul 2006 | B2 |
7096331 | Haase et al. | Aug 2006 | B1 |
7100089 | Phelps | Aug 2006 | B1 |
7111136 | Yamagami | Sep 2006 | B2 |
7111194 | Schoenthal et al. | Sep 2006 | B1 |
7127388 | Yates et al. | Oct 2006 | B2 |
7127577 | Koning et al. | Oct 2006 | B2 |
7139891 | Apvrille et al. | Nov 2006 | B1 |
7152077 | Veitch et al. | Dec 2006 | B2 |
7152078 | Yamagami | Dec 2006 | B2 |
7155465 | Lee et al. | Dec 2006 | B2 |
7155586 | Wagner et al. | Dec 2006 | B1 |
7200726 | Gole et al. | Apr 2007 | B1 |
7203726 | Hasegawa | Apr 2007 | B2 |
7251713 | Zhang | Jul 2007 | B1 |
7302057 | Rotholtz et al. | Nov 2007 | B2 |
7346623 | Prahlad et al. | Mar 2008 | B2 |
7373364 | Chapman | May 2008 | B1 |
7558839 | McGovern | Jul 2009 | B1 |
7774610 | McGovern et al. | Aug 2010 | B2 |
7904679 | Stager et al. | Mar 2011 | B2 |
20010047447 | Katsuda | Nov 2001 | A1 |
20020004835 | Yarbrough | Jan 2002 | A1 |
20020016827 | McCabe et al. | Feb 2002 | A1 |
20020026595 | Saitou et al. | Feb 2002 | A1 |
20020091670 | Hitz et al. | Jul 2002 | A1 |
20020095557 | Constable et al. | Jul 2002 | A1 |
20020144057 | Li et al. | Oct 2002 | A1 |
20020163760 | Lindsey et al. | Nov 2002 | A1 |
20020166079 | Ulrich et al. | Nov 2002 | A1 |
20020199129 | Bohrer et al. | Dec 2002 | A1 |
20030004980 | Kishi et al. | Jan 2003 | A1 |
20030005313 | Gammel et al. | Jan 2003 | A1 |
20030025800 | Hunter et al. | Feb 2003 | A1 |
20030037211 | Winokur | Feb 2003 | A1 |
20030046260 | Satyanarayanan et al. | Mar 2003 | A1 |
20030120476 | Yates et al. | Jun 2003 | A1 |
20030120676 | Holavanahalli et al. | Jun 2003 | A1 |
20030126136 | Omoigui | Jul 2003 | A1 |
20030126388 | Yamagami | Jul 2003 | A1 |
20030135672 | Yip et al. | Jul 2003 | A1 |
20030149700 | Bolt | Aug 2003 | A1 |
20030158766 | Mital et al. | Aug 2003 | A1 |
20030182301 | Patterson et al. | Sep 2003 | A1 |
20030182350 | Dewey | Sep 2003 | A1 |
20030188208 | Fung | Oct 2003 | A1 |
20030217077 | Schwartz et al. | Nov 2003 | A1 |
20030225800 | Kavuri | Dec 2003 | A1 |
20040015731 | Chu et al. | Jan 2004 | A1 |
20040098244 | Dailey et al. | May 2004 | A1 |
20040103147 | Flesher et al. | May 2004 | A1 |
20040158766 | Liccione et al. | Aug 2004 | A1 |
20040167903 | Margolus et al. | Aug 2004 | A1 |
20040168034 | Homma et al. | Aug 2004 | A1 |
20040168057 | Margolus et al. | Aug 2004 | A1 |
20040181388 | Yip et al. | Sep 2004 | A1 |
20040181707 | Fujibayashi | Sep 2004 | A1 |
20040186858 | McGovern et al. | Sep 2004 | A1 |
20050010529 | Zalewski et al. | Jan 2005 | A1 |
20050044162 | Liang et al. | Feb 2005 | A1 |
20050063374 | Rowan et al. | Mar 2005 | A1 |
20050065962 | Rowan et al. | Mar 2005 | A1 |
20050066118 | Perry et al. | Mar 2005 | A1 |
20050066222 | Rowan et al. | Mar 2005 | A1 |
20050066225 | Rowan et al. | Mar 2005 | A1 |
20050076070 | Mikami | Apr 2005 | A1 |
20050076261 | Rowan et al. | Apr 2005 | A1 |
20050076262 | Rowan et al. | Apr 2005 | A1 |
20050076264 | Rowan et al. | Apr 2005 | A1 |
20050097260 | McGovern et al. | May 2005 | A1 |
20050108302 | Rand et al. | May 2005 | A1 |
20050144407 | Colgrove et al. | Jun 2005 | A1 |
20050182910 | Stager et al. | Aug 2005 | A1 |
20050240813 | Okada et al. | Oct 2005 | A1 |
20060010177 | Kodama | Jan 2006 | A1 |
20060047895 | Rowan et al. | Mar 2006 | A1 |
20060047902 | Passerini | Mar 2006 | A1 |
20060047903 | Passerini | Mar 2006 | A1 |
20060047905 | Matze et al. | Mar 2006 | A1 |
20060047925 | Perry | Mar 2006 | A1 |
20060047989 | Delgado et al. | Mar 2006 | A1 |
20060047998 | Darcy | Mar 2006 | A1 |
20060047999 | Passerini et al. | Mar 2006 | A1 |
20060143376 | Matze et al. | Jun 2006 | A1 |
20060259160 | Hood et al. | Nov 2006 | A1 |
Number | Date | Country |
---|---|---|
2 256 934 | Jun 2000 | CA |
0 845 733 | Jun 1998 | EP |
0 869 460 | Oct 1998 | EP |
1 058 254 | Dec 2000 | EP |
1 122 910 | Aug 2001 | EP |
1 233 414 | Aug 2002 | EP |
1333379 | Aug 2003 | EP |
1671231 | Jun 2006 | EP |
WO-9906912 | Feb 1999 | WO |
WO-9903098 | Nov 1999 | WO |
WO 0118633 | Mar 2001 | WO |
WO-0118633 | Mar 2001 | WO |
WO 03067438 | Aug 2003 | WO |
WO-03067438 | Aug 2003 | WO |
WO 2004084010 | Sep 2004 | WO |
WO-2004084010 | Sep 2004 | WO |
WO 2005031576 | Apr 2005 | WO |
WO-2006023990 | Mar 2006 | WO |
WO-2006023991 | Mar 2006 | WO |
WO-2006023992 | Mar 2006 | WO |
WO-2006023993 | Mar 2006 | WO |
WO-2006023994 | Mar 2006 | WO |
WO-2006023995 | Mar 2006 | WO |