1.1.2 Client-Role Peer

This section describes how the Content Caching and Retrieval protocols that are running on multiple peers use the Discovery Protocol [MS-PCCRD] and the Retrieval Protocol [MS-PCCRR]. The use of these protocols enables the client-role peer to retrieve content blocks of a target segment from one or more server-role peers. Requests come from higher-layer applications on the client-role peer to retrieve the whole or parts of a content item, which can span multiple segments. For each target segment, the client-role peer uses the Discovery Protocol to find a server-role peer, or it directly contacts a hosted cache server that has the whole or parts of the target segment. The client-role peer then initiates Retrieval Protocol exchanges to each server-role peer to query the block ranges that are held by each server-role peer and downloads the blocks.

The Discovery Protocol and the Retrieval Protocol both operate on or within a single segment. The operations that are described in this section allow a client-role peer to find and retrieve blocks (parts or all) of a single target segment. This process is referred to as a segment retrieval session. If the content spans multiple segments, then multiple segment retrieval sessions are required to retrieve all of the content's segments and reassemble them into the complete content item.