14 Auxiliary Metrics and Reporting

26.2473GPPProgressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH)Release 17Transparent end-to-end Packet-switched Streaming Service (PSS)TS

14.1 General

Auxiliary metrics pertain to parameters known to the 3GP-DASH client other than QoE metrics as defined in Clause 10, In this version of the specification, those metrics are specific to the measurement of service interactivity related usage/consumption, and their corresponding definition, reporting scheme and report protocol.

Interactivity usage reporting by the 3GP-DASH client is optional. However, a client which supports reporting of interactivity usage metrics shall do so in accordance to the metrics configuration and reporting mechanism as described in the sub-clauses of clause 14.2.

14.2 Interactivity Usage Metrics and Reporting

14.2.1 Introduction

This section specifies the interactivity usage metrics that the DASH client, if capable and instructed to do so, shall report to a network-based report server. These metrics are conveyed by the MPD (via the MPD.Metrics.Reporting element) and the DASH client will use the DASH API as described in clause 14.3 to pass the metrics to the appropriate interactivity-capable application. Consequently, interactivity usage measurements performed by the application, in accordance to the metrics, are returned to the DASH client via the same API. The interactivity usage metric syntax is described in clause 14.2.2.1, and the detailed metric definitions are provided in clauses 14.2.2.2 and 14.2.2.3.

The reporting scheme is defined in clause 14.2.3, the metrics to be supported by 3GP-DASH clients supporting the interactivity usage metrics reporting feature are specified in clause 14.2.4, and the interactivity usage reporting protocol is defined in clause 14.2.5.

14.2.2 Interactivity Usage Metric Definitions

14.2.2.1 Introduction

This section provides the interactivity usage metric definitions and measurement framework.

The semantics are defined using an abstract syntax. Section 14.2.5 provides a mapping to an XML schema. Items in this abstract syntax have one of the following primitive types (Integer, Real, Boolean, Enum, String) or one of the following compound types:

– Objects: an unordered sequence of (key, value) pairs, where the key always has string type and is unique within the sequence.

– List: an ordered list of items.

– Set: an unordered set of items.

Additionally, there are two kinds of timestamp defined, i.e., real time (wall-clock time) and media time.

14.2.2.2 Interactivity Summary

The IntySummary element as shown in table 14.2.2.2.1 summarizes the measurements of interactivity usage according to different metrics such as user consumption of rendered interactivity content or engagement with user interface (UI) functionality, such as viewing, clicking on or selection of hyperlinks, radio buttons, check boxes and other forms of UI displays or controls. Occurrences of opportunities for such user input may be pre-scheduled or unplanned during the playout of a main program. Examples of interactivity content include advertisements and auxiliary content accessible under user control during the occurrence of an interactivity event during a main program.

Table 14.2.2.2.1: Interactivity Summary

Key

Type

Description

IntySummary

Object

Summarized information on interactivity usage associated with the set of interactivity events summarized by an interactivity usage report

Parameters

List

Collection of one or more parameters pertaining to interactivity usage

consumptionDuration

Integer

Total measured time duration in milliseconds of user consumption of rendered interactivity content (e.g., video or audio)

engagementInterval

Integer

Total measured time duration in milliseconds of user engagement with interactivity content via UI controls

clickthroughStart

List

List of start times, by media presentation time, of click-through actions associated with user access of interactivity-related resources offered by UI controls

PrivateExt

List

Container for proprietary or application-specific extensions on parameters to be included in the interactivity usage report

14.2.2.3 Interactivity Event List

The IntyEventList element as shown in table 14.2.2.3.1 contains a time-ordered list of interactivity usage events and the details of the measured interactivity usage information during each event.

Table 14.2.2.3.1: Interactivity Event List

IntyEventList

List

A time-ordered list of interactivity events occurring during the playout of the main program, each containing detailed information on the incidences of interactivity usage during that event, as covered by an instance of the interactivity usage report.

Entry

Object

A record of a single interactivity event

mStart

Media Time

The media presentation time at the start of the interactivity event.

mStop

Media Time

The media presentation time at the end of the interactivity event

Rendering

List

A list of time intervals within the duration of an interactivity event during which the user consumes the rendered interactivity content (e.g., video or audio)

rStart

Media Time

The media presentation time at the start of interactivity content rendering resulting from, for example, the user’s click of an embedded hyperlink, or engagement with UI controls, present in an advertisement that is initially displayed during an interactivity event

rStop

Media Time

The media presentation time at the end of consumption of interactivity content as measured by the time of conclusion of that content, or when the user selects another interactivity content item for rendering, whichever occurs earlier

Engagement

List

A list of time occurrences within the duration of an interactivity event at which the user engages with the interactivity content via UI controls

eStart

Media Time

The media presentation time at the start of user engagement with interactivity content via UI controls via UI controls

Clickthrough

List

A list of click-through actions performed by the user to access interactivity-related resources, as denoted by embedded hyperlinks in the interactivity content

cStart

Media Time

The media presentation time at which user performs a click/selection

PrivateExt

List

Container for proprietary or application-specific extensions on parameters to be included in this interactivity event entry

14.2.3 Interactivity Usage Reporting Scheme

This clause specifies a 3GP-DASH interactivity usage reporting scheme.

The interactivity usage reporting scheme is signaled using the Reporting element in the Metrics element. The URN to be used for the Reporting@schemeIdUri shall be "urn:3GPP:ns:PSS:DASH:IU15".

The reporting scheme shall use the interactivity usage reporting protocol as defined in section 14.2.5.

The semantics and XML syntax of the scheme information for the 3GP-DASH interactivity usage reporting scheme are specified in table 14.2.3.1 and table 14.2.3.2, respectively.

Table 14.2.3.1: Semantics of Interactivity Usage Reporting Scheme Information

Element or Attribute Name

Use

Description

@metrics

M

This attribute lists all interactivity usage metrics (as a list of interactivity metric keys as defined in clauses 14.2.2.2 and 14.2.2.3).

@apn

O

This attribute gives the access point that should be used for sending the interactivity usage reports.

@format

O

This field gives the requested format for the reports. Possible formats are: "uncompressed” and "gzip”.

@samplepercentage

O

Percentage of the clients that should report interactivity usage. The client should use a random number generator and compare the generated output with the given percentage in determining whether to perform reporting.

@reportingserver

M

The reporting server URL to which the interactivity usage reports will be sent.

@reportTime

O

If present, is indication to the DASH client that each interactivity usage report by the DASH client should be accompanied by the wall-clock time at which the report is sent.

@reportinginterval

O

Indicates the time interval(s) between successive transmission of interactivity usage reports. If present, @reportingInterval=n indicates that the client should send a report every n-th second provided that new metrics information has become available since the previous report.

GroupID

0..1

A set of one or more identifiers, representing aliases associated with and known to the client devices, used to identify that/those device(s) which should perform interactivity usage reporting. Presence of this attribute and @samplePercentage should be mutually exclusive

Legend:

For attributes: M=Mandatory, O=Optional, OD=Optional with Default Value, CM=Conditionally Mandatory.

For elements: <minOccurs>…<maxOccurs> (N=unbounded)

Elements are bold; attributes are non-bold and preceded with an @

Table 14.2.3.2: Syntax of Interactivity Usage Reporting Scheme Information

<?xml version="1.0"?>
<xs:schema targetNamespace="urn:3GPP:ns:PSS:AdaptiveHTTPStreaming:2009:qm"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="urn:3GPP:ns:PSS:AdaptiveHTTPStreaming:2018:iu">

<xs:annotation>
<xs:appinfo>3GPP DASH Interactivity Usage Reporting</xs:appinfo>
<xs:documentation xml:lang="en">
This Schema defines the interactivity reporting scheme information for 3GPP DASH.
</xs:documentation>
</xs:annotation>

<xs:element name="ThreeGPIntyUsageReporting" type="SimpleIntyReportingType"/>

<xs:complexType name="SimpleIntyReportingType">

<xs:sequence>

<xs:element name="GroupID" type="xs:string" minOccurs="0"/>

</xs:sequence>

<xs:attribute name="metrics" type="xs:string" use="required"/>
<xs:attribute name="apn" type="xs:string" use="optional"/>
<xs:attribute name="format" type="FormatType" use="optional"/>
<xs:attribute name="samplePercentage" type="xs:double" use="optional"/>
<xs:attribute name="reportingServer" type="xs:anyURI" use="required"/>

<xs:attribute name="reportingTime" type="xs:boolean" use="optional"/>
<xs:attribute name="reportingInterval" type="xs:unsignedInt" use="optional"/>

<xs:anyAttribute processContents="skip"/>
</xs:complexType>

<xs:simpleType name="FormatType">
<xs:restriction base="xs:string">
<xs:enumeration value="uncompressed" />
<xs:enumeration value="gzip" />
</xs:restriction>
</xs:simpleType>

</xs:schema>

14.2.4 Interactivity Metrics

The following metrics shall be supported by 3GP-DASH clients supporting the interactivity usage metrics reporting feature.

– Interactivity Usage Summary information (Clause 14.2.2.2); and

– Interactivity Event List information (Clause 14.2.2.3).

The @metrics attribute of the interactivity usage reporting scheme information in clause 14.2.3 contains a list of interactivity usage metric keys comprising the entirety of such metrics that the DASH client shall collect and report.

14.2.5 Interactivity Usage Reporting Protocol

14.2.5.1 General

The interactivity usage reporting protocol consists of:

– the XML-based report format defined in section 14.2.5.2; and

– the reporting protocol defined in section 14.2.5.3.

The MIME type of an XML-formatted interactivity usage report shall be "application/3gpdash-iu-report+xml” as defined in Annex J.

14.2.5.2 Report Format

The interactivity usage report is formatted as an XML document that complies with the following XML schema:

<?xml version="1.0" encoding="UTF-8"?>

<!– edited with XMLSpy v2017 sp2 (x64) (http://www.altova.com) by Debra Hawes (QUALCOMM) –>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:3gpp:metadata:2018:HSD:intyusagereport" targetNamespace="urn:3gpp:metadata:2018:HSD:intyusagereport" elementFormDefault="qualified">

<xs:element name="IntyUsageReport" type="IntyUsageReportType"/>

<xs:complexType name="IntyUsageReportType">

<xs:choice>

<xs:element name="IntySummary">

<xs:complexType>

<xs:sequence>

<xs:element name="ClickThrough" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:attribute name="cStart" type="xs:dateTime"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:element>

<xs:element name="PrivateExtension" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="consumptionDuration" type="xs:duration"/>

<xs:attribute name="engagementInterval" type="xs:duration"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:element>

<xs:element name="IntyEventList">

<xs:complexType>

<xs:sequence>

<xs:element name="Entry" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="Rendering" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:attribute name="rStart" type="xs:unsignedLong" use="required"/>

<xs:attribute name="rStop" type="xs:unsignedLong"/>

</xs:complexType>

</xs:element>

<xs:element name="Engagement" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:attribute name="eStart" type="xs:unsignedLong" use="required"/>

</xs:complexType>

</xs:element>

<xs:element name="ClickThrough" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:attribute name="cStart" type="xs:dateTime"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:element>

<xs:element name="PrivateExtension" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="mStart" type="xs:unsignedLong" use="required"/>

<xs:attribute name="mStop" type="xs:unsignedLong" use="required"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:choice>

<xs:attribute name="mediaPresentationId" type="xs:string" use="required"/>

<xs:attribute name="periodId" type="xs:string" use="required"/>

<xs:attribute name="reportTime" type="xs:dateTime" use="required"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:schema>

14.2.5.3 Reporting Protocol

In the MPD configuration, if a specific metrics server has been configured, the client shall send interactivity usage reports using the HTTP (RFC 2616) [9] POST request carrying XML formatted metadata in its body. An example interactivity usage reporting based on HTTP POST request signalling is shown below:

POST http://www.exampleserver.com HTTP/1.1

Host: 192.68.1.1

User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)

Content-Type: text/xml; charset=utf-8

Content-Length: 4408

<?xml version="1.0" encoding="UTF-8"?>

<IntyUsageReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:3gpp:metadata:2018:HSD:intyusagereport"

xsi:schemaLocation="urn:3gpp:metadata:2018:HSD:intyusagereport IntyUsageReport.xsd">

mediaPresentationId="NFLGame-xyz_123" periodId="8" reportTime="2019-02-17T09:30:47Z"

<IntyEventList>

<Entry mStart="12345678294967295" mStop="12345678305767295">

<Rendering rStart="12345678295417295" cStop="12345678300817295"/>

<Engagement eStart="12345678301267295"/>

</Entry>

</IntyEventList>
</IntyUsageReport>