This is not truly "all about PAR", but it is all you need to know to understand it, and to use both PAR1 and PAR2 effectively.

 

"PAR" is from "Parchive", which is a made-up word that stands for 'Parity Archive'. The PAR systems (both PAR1 and PAR2) use the "Reed-Solomon" algorithm to generate and use parity archive files for any file-set, usually  RAR or ZIP archives. Reed-Solomon is the same algorithm used in creating self-correcting RAID (Redundant Array of Inexpensive Discs) arrays.

 

The idea behind PAR is to create data which, when used with some of the original data, is able to recreate the entire original data-set.  For example: if you have a set of 10 RARs and make 2 PARs (PAR1) for it, if any one or two of the original RARs becomes unreadable or corrupt or is lost, you can still restore the entire original archive using the parity-data contained in the PARs, regardless of which of the original files were unusable.  The PAR-files aren't truly "chameleon" files, in that you don't simply rename them to replace the bad files, you have to use their associated program, which generates the new files from the existing data files and the PAR files.

 

PAR is not any kind of compression, like WinZip or WinRAR. There is no compression in PAR1 or PAR2, and there is no original data in either PAR1 or PAR2 files.  They are derived from the original data, but they don't contain a single byte of it.

 

On UseNet the use of PARity has saved many repost requests- posters of large archive sets have begun including some form of PARity files with the post; thus people who cannot get one or more files, for whatever reasons, only need to download as many PARs as they have missing RARs and they are able to restore the full set of RARs. The usual extension for PAR-1 is PAR-P## and for PAR-2 it is PAR2. WinRAR has it's own implementation of Reed-Solomon, and these files have the REV extension (REV=REcovery Volume). Those are PAR-1 files used directly by WinRAR itself, needing no other program to create or use them. PAR-1 is preferred for writing to CD or DVD, as partial file reads are not normally done from those media, so including a few PAR-1 files with archives written to removable media is a way of assuring the data will be recoverable at a later date.  PAR2 is preferable for UseNet, as in most cases only a segment or two of a particular file will be missing, not the entire file itself.  The PAR2 system lends itself to repairing file sets with missing segments because you only have to download as many PAR2 segments as you have missing segments- a huge savings in time and bandwidth.

 

Using PAR

 

PAR-1 files are created using a number of programs, such as SmartPAR and FSRaid (q.v.) SmartPAR has been abandoned by its developer, but the last version he made is available for direct download from the WarezFAQ Downloads page. FSRaid (from Fluid Studios) is freeware, and is both faster and more feature-rich than SmartPAR, and is highly recommended. You can get FSRaid directly from Fluid Studios <here>   Using PAR files is very simple and straight-forward: if you are missing or have 2 corrupt RAR or ZIP files (for example) then download 2 PAR files. The ratio is one-to-one: one PAR for each missing or corrupt archive-file.  You don't need to download all the PAR files unless you have that many missing or corrupt archive files. Just get as many as you need. If the post is complete on your server, and WinRAR can extract it correctly, then you don't need any of the PAR files. PAR-1 file extensions begin with the small *.PAR file, which is an index and CRC-type file. It can validate the post, just as an "SFV" (Q.V.) can, pointing-out any missing or corrupt files. The rest of the PAR-1 files have numeric extensions like P01 and P85, etc. They are numbered sequentially, but you don't have to use them in any order- that is to say that if you are missing one RAR, for example, you only need one PAR, but any of the P## files from the set will do- you don't need to get them in any particular order. Once you have the PAR files you need, just double-click on the PAR (if you have associated it with FSRaid) or open the PAR program and have it "load" any one of the parity files you have, it will determine which files are appropriate for it's use. FSRaid will even rename misnamed RARS and PARS, which is handy because names are corrupted on some servers. Once you have told the PAR program which archives to check or recreate the rest is automatic. If you don't have enough PARs, it will tell you that, too. 

 

PAR-2 files are created by 'QuickPAR' (freeware, available from the developers and directly from the WarezFAQ on the Downloads page.) PAR2 implements the same Reed-Solomon correction, but in a different manner: It treats the files as clusters of logical "blocks" of XX-bytes each; where "XX" is any number of bytes the creator of the set  decides should be in a block. I.E. if you are creating a PAR2 set for 10 RARs of 10 megabytes each, you might decide that 500KB is a good block size, as it is an even-divisor of the file size. That means that each RAR would consist of 20 logical blocks, with 200 logical blocks comprising the original archive. If you want to create 10% PAR2 then you would need to create 20 PAR2 blocks. PAR2 will cluster these blocks in either of two ways: Progressive, or same-file-size (user selectable.) Same-file-size is like PAR1, but only in file-size, not in operation. If you use the progressive method then the first PAR2 file would contain 1 block, the second 2 blocks, the third would contain 4 blocks, etc.. The idea is that the downloader only has to download as many PAR2 files as contain the number of "blocks" that are missing or corrupt in the original archive set. Since PAR2 files are all named so as to state explicitly how many blocks they each contain, selecting files to download with the minimum  number of blocks needed is straight-forward.

In this example 20 "blocks" of PAR2 were created, each block of 312kB size, providing for 20% redundancy; yet no single file is as big as one of the full-sized original RARs.  You can see that the PAR2 files all have the number of blocks contained in each file right in the file name:  the "+#" tells you how many are in any PAR2 file. There is also an index PAR2 file with no recovery blocks, it is identical in function to the small PAR file used in PAR1. There are enough PAR2 files here to replace only one entirely-missing RAR, but they can repair all of them,  provided the total number of corrupt or missing blocks is 20 or less. Since PAR2 can work with any good "blocks", if there aren't enough PAR2 files posted to complete a file-set that has incompletes, you can "force download" one or more of the incompletes and PAR2 will happily use the good blocks in the incomplete files to help recreate  the original archive-set. Using Agent (for example) you "force download" by using "Join Sections" (Q.V.) and downloading the incomplete file. Just make sure that when you 'join-sections'  you order the sections sequentially! Failure to do so can render the file useless for recovery.  <More_info on how to use PAR2 and incomplete files>

 

Since PAR2 files are explicitly named so as to display how many blocks each contains (as well as how many cumulative blocks are in all the PAR2 files preceding it), you need only download the smallest number of blocks that QuickPAR told you that were needed to reconstruct the post.  The idea behind PAR2 is that files can be transferred in "usable format". For example; you might post/download a 300 megabyte MPEG that wasn't split or RAR-encapsulated. Obviously PAR1 would be useless with such a file- you wouldn't create a 300 megabyte PAR file!  PAR2 gives you the ability to provide a usable parity-archive set for such a file. On a 300 megabyte single-file upload it is highly likely that a number of segments would fail to propagate properly to a large number of servers, so that the inclusion of a PAR2 set would be more-or-less a necessity. However it should be remembered when considering doing such a thing that any number of servers worldwide will simply reject any such single file as simply being too large. 

 

Note that QuickPAR can also reconstruct files using PAR1 parity files.

Without going into excessive detail, that pretty-much explains the PAR & PAR2 file-types, and how they are used on UseNet.

 

It should also be noted that PAR2 is not a very good choice for insuring data integrity on removable media, such as CD's. Keep large files in smaller RARs, and use PAR1 files (or make your PAR2 files all the same size and of a size so that one any one PAR2 will be able to recover any one data file) to assure data integrity- as you cannot (without considerable difficulty and a great deal of expertise) recover a partial file from a CD or DVD, it is an all-or-nothing process; so having a few PAR files to back-up the RARs you burn to CD or DVD is a very good idea.

 

If you feel the need for more detail, please read what the developers have to say at http://parchive.sourceforge.net, or at Clement's site (one of the developers, and the author of QuickPar,) and for a layman's explanation of the Reed-Solomon implementation, our own <more_info> page has an excellent explanation, with examples, that was originally posted to UseNet.

 

 

*All software that is used should be purchased*
Copyright 1996-2007 www.warezfaq.com All rights reserved.