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

 
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

 
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

 
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

 
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.