Remote Differential Compression

Overview of the Remote Differential Compression technology.

To develop Remote Differential Compression, you need these headers:

For programming guidance for this technology, see:

Enumerations

Title Description
GeneratorParametersType Defines the set of supported generator parameters.
RDC_ErrorCode Defines the set of RDC-specific error codes.
RdcCreatedTables Defines values that describe the state of the similarity traits table, similarity file ID table, or both.
RdcMappingAccessMode Defines the access mode values for RDC file mapping objects.
RdcNeedType Defines the set of data chunks used to generate a remote copy.

Functions

Title Description
Append Adds the file ID and similarity data information to the tables in the similarity file.
Append Adds the file ID to the similarity file ID table.
Append Adds a SimilarityData structure to the similarity traits table.
BeginDump Retrieves similarity data from the similarity traits table.
CloseMapping Closes a file mapping object for a similarity traits table file.
CloseTable Closes the tables in a similarity file.
CloseTable Closes a similarity file ID table.
CloseTable Closes a similarity traits table.
ComputeDefaultRecursionDepth Computes the maximum level of recursion for the specified file size.
CopyAndSwap Creates copies of an existing similarity traits table and an existing similarity file ID table, swaps the internal pointers, and deletes the existing tables.
CreateComparator Creates a signature comparator.
CreateGenerator Creates a signature generator that will generate the specified levels of signatures.
CreateGeneratorParameters Returns an IRdcGeneratorParameters interface pointer initialized with the parameters necessary for a signature generator.
CreateSignatureReader Creates a signature reader to allow an application to decode the contents of a signature file.
CreateTable Creates or opens a similarity traits table and a similarity file ID table.
CreateTable Creates or opens a similarity file ID table.
CreateTable Creates or opens a similarity traits table.
CreateTableIndirect Creates or opens a similarity traits table and a similarity file ID table using the RDC application's implementations of the ISimilarityTraitsMapping and IRdcFileWriter interfaces.
CreateTableIndirect Creates or opens a similarity file ID table using the RDC application's implementation of the IRdcFileWriter interface.
CreateTableIndirect Creates or opens a similarity traits table using the RDC application's implementation of the ISimilarityTraitsMapping interface.
CreateView Maps a view of the file mapping for a similarity traits table file.
DeleteOnClose Sets a file to be deleted (or truncated) on close.
EnableSimilarity Enables the signature generator to generate similarity data.
FindSimilarFileId Returns a list of files that are similar to a given file.
FindSimilarFileIndex Returns a list of files that are similar to a given file. The results in the list are sorted in order of similarity, beginning with the most similar file.
Flush Writes to the disk any dirty pages within a mapped view of a similarity traits table file.
Get Returns information about the mapped view of a similarity traits table file.
GetFilePosition Returns the current file position.
GetFileSize Returns the size of a file.
GetFileSize Returns the size of a similarity traits table file.
GetGeneratorParameters Returns a copy of the parameters used to create the generator.
GetGeneratorParametersType Returns the specific type of the parameters.
GetHashWindowSize Returns the hash window size�the size of the sliding window used by the FilterMax generator for computing the hash used in the local maxima calculations.
GetHorizonSize Returns the horizon size�the length over which the FilterMax generator looks for local maxima.
GetLastIndex Retrieves the index of the last entry that was stored in the similarity traits table.
GetNextData Retrieves one or more SimilarityDumpData structures from the similarity traits list that was returned by the ISimilarityTraitsTable::BeginDump method.
GetNextFileId Retrieves the next valid similarity file ID in the file list that was returned by the ISimilarity::FindSimilarFileId method.
GetPageSize Returns the page size (disk block size) for a similarity traits table file.
GetParametersVersion Returns information about the version of RDC used to serialize the parameters.
GetRDCVersion Retrieves the version of the installed RDC runtime and the oldest version of the RDC interfaces supported by the installed runtime.
GetRecordCount Retrieves the number of records that are stored in the similarity file ID table in a similarity file.
GetRecordCount Retrieves the number of records that are stored in a similarity file ID table.
GetSerializeSize Returns the size, in bytes, of the serialized parameter data.
GetSize Retrieves the number of entries in the file list that was returned by the ISimilarity::FindSimilarFileId method.
GetView Returns the beginning and ending addresses for the mapped view of a similarity traits table file.
Invalidate Marks a file ID as not valid in the similarity file ID table.
Lookup Retrieves the file ID that corresponds to a given file index in the similarity file ID table.
OpenGeneratorParameters Opens an existing serialized parameter block and returns an IRdcGeneratorParameters interface pointer initialized with the data.
OpenMapping Opens the file mapping object for a similarity traits table file.
Process Compares two signature streams (seed and source) and produces a needs list, which describes the chunks of file data needed to create the target file.
Process Processes the input data and produces 0 or more output bytes.
Read Reads the specified amount of data starting at the specified position.
ReadHeader Reads the signature header and returns a copy of the parameters used to generate the signatures.
ReadSignatures Reads a block of signatures from the current position.
ReportProgress Reports the current completion percentage of a similarity operation in progress.
ResizeMapping Resizes the file mapping object for a similarity traits table file.
Results Retrieves the similarity data that was generated for a file by the signature generator.
Serialize Serializes the parameter data into a block of memory.
SetFileSize Sets the size of a similarity traits table file.
SetHashWindowSize Sets the hash window size�the size of the sliding window used by the FilterMax generator for computing the hash used in the local maxima calculations.
SetHorizonSize Sets the horizon size�the length over which the FilterMax generator looks for local maxima.
Truncate Truncates a file to zero length.
Unmap Unmaps a mapped view of a similarity traits table file.
Write Write bytes to a file starting at a given offset.

Interfaces

Title Description
IFindSimilarResults Provides methods for retrieving information from the file list returned by the ISimilarity::FindSimilarFileId method.
IRdcComparator Used to compare two signature streams (seed and source) and produce the list of source and seed file data chunks needed to create the target file.
IRdcFileReader The IRdcFileReader interface is used to provide the equivalent of a file handle, because the data being synchronized may not exist as a file on disk.
IRdcFileWriter Abstract interface to read from and write to a file.
IRdcGenerator Used to process the input data and read the parameters used by the generator.
IRdcGeneratorFilterMaxParameters Sets and retrieves parameters used by the FilterMax generator.
IRdcGeneratorParameters Is the generic interface for all types of generator parameters. All generator parameter objects must support this interface.
IRdcLibrary Is the primary interface for using RDC.
IRdcSignatureReader Reads the signatures and the parameters used to generate the signatures.
IRdcSimilarityGenerator Defines methods for enabling the signature generator to generate similarity data and for retrieving the similarity data after it is generated.
ISimilarity Defines methods for storing and retrieving per-file similarity data and file IDs in a similarity file.
ISimilarityFileIdTable Defines methods for storing and retrieving similarity file ID information.
ISimilarityReportProgress Defines a method for RDC to report the current completion percentage of a similarity operation.
ISimilarityTableDumpState Provides a method for retrieving information from the similarity traits list that was returned by the ISimilarityTraitsTable::BeginDump method.
ISimilarityTraitsMappedView Provides methods that an RDC application can implement for manipulating a mapped view of a similarity traits table file.
ISimilarityTraitsMapping Provides methods that an RDC application can implement for creating and manipulating a file mapping object for a similarity traits table file.
ISimilarityTraitsTable Defines methods for storing per-file similarity data and performing similarity lookups.

Structures

Title Description
FindSimilarFileIndexResults Contains the file index information that the ISimilarityTraitsTable::FindSimilarFileIndex method returned for a matching file.
RdcBufferPointer Describes a buffer.
RdcNeed Contains information about a chunk that is required to synchronize two sets of data.
RdcNeedPointer Describes an array of RdcNeed structures.
RdcSignature Contains a single signature and the length of the chunk used to generate it.
RdcSignaturePointer Describes an array of RdcSignature structures.
SimilarityData Contains the similarity data for a file.
SimilarityDumpData Contains the similarity information that was returned for a file by the ISimilarityTableDumpState::GetNextData method.
SimilarityFileId Contains the similarity file ID for a file.
SimilarityMappedViewInfo Contains information about a similarity mapped view.