3.1.1 Abstract Data Model

This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.

SessionState: Specifies the current state for the multicast session as defined below.

State

Description

QueryState

The WDS Multicast Application Protocol is actively querying the clients for block ranges of content that each client is missing.

DataState

The WDS Multicast Application Protocol is sending the data for missing block ranges discovered during the search in the QueryState.

At initialization, the SessionState MUST be set to QueryState on initialization.

BlockSize: Specifies the block size to use to send data to the clients. The value is provided by the WDS Multicast Session Initiation Protocol [MS-WDSMSI].

MissingBlockRanges: Specifies an array of missing block ranges that MUST be constructed from the CNTCIR packets (section 2.2.3) received from the clients as specified in section 3.1.6.1. Each element of the array has the following two elements:

StartBlockNo: Specifies the starting block number for the missing block range.

EndBlockNo: Specifies the ending block number for the missing block range.

ClientCNTCIRPackets: Specifies the list of CNTCIR packets (section 2.2.3) received from the clients while the server is in the QueryState.