|File name extension|
|Type of format||forward error correction|
Parchive (or parity volume set archive) is a Sourceforge Project that was created in 2001 to design and implement an idea by Tobias Rieper and Stefan Wehlus for a Parity File format. In Telecommunication and Information theory, forward error correction (FEC is a System of Error control for Data transmission, whereby Parity files are files that are created to accompany data files and are used to preserve data integrity and assist in data recovery These parity files use a forward error correction-style system that can be used to perform data verification, and allow recovery when data is lost or corrupted. Parity files are files that are created to accompany data files and are used to preserve data integrity and assist in data recovery In Telecommunication and Information theory, forward error correction (FEC is a System of Error control for Data transmission, whereby
The project is currently administered by Ryan Gallagher (binerman), Roger Harrison (kbalore), Willem Monsuwe (monsuwe), and Stefan Wehlus (wehlus)
Parchive was written to solve the problem of reliably sending large files on Usenet. Usenet, a Portmanteau of "user" and "network" is a world-wide distributed Internet discussion system
Usenet newsgroups were originally designed for informal conversations and the underlying protocol, NNTP was not designed to be a reliable transmission medium. Usenet, a Portmanteau of "user" and "network" is a world-wide distributed Internet discussion system A newsgroup is a Repository usually within the Usenet system for messages posted from many users in different locations The Network News Transfer Protocol or NNTP is an Internet application protocol used primarily for reading Another limitation, which was acceptable for conversations but not for files, was that messages were normally fairly short in length and limited to 7-bit ASCII text. American Standard Code for Information Interchange ( ASCII)
Various techniques were devised to send files over Usenet, such as uuencoding and Base64. Uuencoding is a form of Binary-to-text encoding that originated in the Unix program uuencode, for encoding binary data for transmission The term Base64 refers to a specific MIME content transfer encoding. Later Usenet software allowed 8 bit Extended ASCII, which permitted new techniques like yEnc. The term extended ASCII (or high ASCII) describes Eight-bit or larger Character encodings that include the standard seven- Bit yEnc is a Binary-to-text encoding scheme for transferring binary files in messages on Usenet or via E-mail.
Large files were sent by breaking them into smaller files but the unreliable nature of Usenet remained.
With the introduction of Parchive, Parity Files could be created that were then uploaded along with the original data files. Parity files are files that are created to accompany data files and are used to preserve data integrity and assist in data recovery If any of the data files were damaged or lost whilst being propagated between Usenet servers, users could download Parity Files and use them to reconstruct the damaged or missing files.
Parchive included the construction of small "index files" (*. par in version 1 and *. par2 in version 2) that do not contain any recovery data. These indexes contain file hashes that can be used to quickly identify the target files and verify their integrity. A hash function is any well-defined procedure or mathematical function for turning some kind of Data into a relatively small integer, that may
Because the index files were so small, they minimized the amount of extra data that had to be downloaded from Usenet to verify that the data files were all present and undamaged, or to determine how many parity volumes were required to repair any damage or reconstruct any missing files. They were most useful in version 1 where the parity volumes were much larger than the short index files.
The larger "parity volumes" contain the actual recovery data along with a duplicate copy of the information in the index files (which allows them to be used on their own to verify the integrity of the data files if there is no small index file available).
In July 2001, Tobias Rieper and Stefan Wehlus proposed the Parity Volume Set specification, and with the assistance of other project members, Version 1.0 of the specification was published in October 2001. Par1 used Reed-Solomon error correction to create new recovery files. Reed-Solomon error correction is an Error-correcting code that works by Oversampling a Polynomial constructed from the data An end user could use any of the recovery files to rebuild a missing file from an incomplete download. To download is to receive data from a remote or central system such as a Webserver, FTP server, mail server or other similar systems
Version 1 became widely used on Usenet, but it did suffer some limitations:
In January 2002, Howard Fukada proposed that a new PAR2 specification should be devised with the significant changes that data verification and repair should work on "blocks" of data rather than whole files, and that the algorithm should switch to using 16 bit numbers rather than the 8 bit numbers that PAR 1 used. Michael Nahas and Peter Clements took these ideas up in July 2002, and with additional input and ideas from Paul Nettle and Ryan Gallagher (who both wrote Par1 clients), Verion 2.0 of the Parchive specification was published by Michael Nahas in September 2002.
Peter Clements then went on to write the first two PAR2 implementations: QuickPar and par2cmdline. QuickPar is a computer program designed for the Microsoft Windows Operating system that creates recovery information for a file or group of files
Versions 1 and 2 of the file format are incompatible. A file format is a particular way to encode information for storage in a Computer file. (Although many clients support both. )
For version 1, given files f1, f2, . . . , fn, the Parchive consists of an index file (f. par) and a number of "parity volumes" (f. p01, f. p02, etc). Given all of the original files except for one (for example, f2), it is possible to create the missing f2 given all of the other original files and any one of the parity volumes. Alternatively, it is possible to recreate two missing files from any two of the parity volumes and so forth.
Version 1 supports up to 256 recovery files. Each recovery file must be the size of the largest input file.
Version 2 files generally use this naming/extension system: filename. vol000+01. PAR2, filename. vol001+02. PAR2, filename. vol003+04. PAR2, filename. vol007+06. PAR2, etc. The +01, +02, etc. in the filename indicates how many blocks it contains, and the vol000, vol001, vol003 etc. indicates the number of the first recovery block within the PAR2 file. If an index file of a download states that 4 blocks are missing, the easiest way to repair the files would be by downloading filename. vol003+04. PAR2. However, due to the redundancy, filename. vol007+06. PAR2 is also acceptable.
Version 2 supports up to 32768 (2^15) recovery blocks. Input files are "sliced" into multiple equal-sized blocks so that recovery files do not need to be the size of the largest input file.
Parchive files can be used for other purposes than Usenet transmission.
Note: a comprehensive list of archive software is available. The following tables compare general and technical information for a number of File archivers.
A PAR file could also be a deployable SAS Portlet file for the SAS Information Delivery Portal. Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. QuickPar is a computer program designed for the Microsoft Windows Operating system that creates recovery information for a file or group of files SmartPAR is a Freeware File archiver application for Parchive file format for Microsoft Windows environments Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. Mac OS X (mæk oʊ ɛs tɛn is a line of computer Operating systems developed marketed and sold by Apple Inc, the latest of which is pre-loaded on all currently Linux (commonly pronounced ˈlɪnəks SAS (pronounced "sass" originally Statistical Analysis System) is an integrated system of software products provided by SAS Institute that enables the programmer The nomenclature follows from JAR, WAR, and EAR files. In Computing, a JAR file (or J ava AR chive is used for aggregating many files into one In Computing, a WAR file (which stands for " Web application archive") is a JAR file used to distribute a collection of JavaServer Pages An Enterprise ARchive, or EAR, is a file format used by Java EE for packaging one or more modules into a single archive so that the deployment of the various These files are just ZIPped files. The ZIP File format is a Data compression and archival format.