generated from camaraproject/Template_API_Repository
-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #71 from cablelabs/benhepworth-patch-1
Add Quality By Design API proposal
- Loading branch information
Showing
4 changed files
with
640 additions
and
0 deletions.
There are no files selected for viewing
16 changes: 16 additions & 0 deletions
16
documentation/API proposals/APIproposal_QualityByDesign_CableLabs.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
| **Field** | **Description** | | ||
| ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ||
| API family name | Quality by Design (QbD) | | ||
| API family owner | CableLabs | | ||
| API summary | API allowing applications to:<br>- report application KPIs to network operator<br>- receive QbD score<br>- receive root cause analysis and recommended corrective actions<br>- request service improvements | | ||
| | **API Scope**<br>This API would be part of the Connectivity Insights API Family. The QbD API allows an application developer to create a session with a network operator. The application can then share Key Performance Indicators (KPIs) such as:<br>- latency<br>- jitter<br>- packet loss<br>- bitrate<br>The network operator can monitors these KPIs and determine a QbD score. These KPIs are aligned with the attributes in the Connectivity Insights [application-profile](https://github.com/camaraproject/ConnectivityInsights/blob/main/code/API_definitions/application-profiles.yaml) to maintain consistency across CAMARA. If the score ever drop below certain thresholds, an event can be triggered. The network operator can then determine root cause and suggest corrective actions either to the application or to the network. | | ||
| | **Use Case Example 1 - Wi-Fi Congestion**<br>Wi-Fi congestion at a [`Service Site`](https://github.com/camaraproject/NetworkAccessManagement/blob/1c804a5159f67370f005dbf0cc82e5c7e72725f0/code/API_definitions/network_access_management.yaml#L40) is affecting video conferencing performance, reflecting lower QbD scores and poor video quality | | ||
| | **Use Case Example 2 - Network Impairments**<br>Issues in the operator's network can lead to degradation in latency, jitter, packet loss, and bitrate, reflecting lower QbD scores and poor video quality. | | ||
| | **Sample Recommendations**<br>- create a HomeDeviceQoD session for WMM enablement<br>- application configuration updates<br>- request service improvements | | ||
| Technical viability | Application developers can use this API to interact with the network. It assumes the network operator exposing this API has a backend to receive KPIs, analyze them, and produce a QbD score. Based on minimum quality thresholds for the application category, the network operator can provide proactive recommendations. The application could also use the CAMARA NetworkAccessManagement for remote control of a [`Device`](https://github.com/camaraproject/NetworkAccessManagement/blob/1c804a5159f67370f005dbf0cc82e5c7e72725f0/code/API_definitions/network_access_management.yaml#L34) at a [`Service Site`](https://github.com/camaraproject/NetworkAccessManagement/blob/1c804a5159f67370f005dbf0cc82e5c7e72725f0/code/API_definitions/network_access_management.yaml#L40) if necessary. | | ||
| Commercial viability | Reference implementation developed by CableLabs with a sample video conferencing app using the API is being evaluated with network operators. | | ||
| YAML code available? | YES<br>- [yaml OpenAPI Specification](../SupportingDocuments/qbd-openapi.yaml)<br>- [yaml - Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/cablelabs/APIBacklog/benhepworth-patch-1/documentation/SupportingDocuments/qbd-openapi.yaml)<br>- [slides](../SupportingDocuments/quality-by-design-api.pdf) | | ||
| Validated in lab/productive environments? | YES - app using APIs validated in CableLabs lab with potential field trials coming soon with network operators. | | ||
| Validated with real customers? | NO - in progress with multiple application developers | | ||
| Validated with operators? | YES | | ||
| Supporters in API Backlog Working Group | Charter, Liberty Global, Vodafone | |
Oops, something went wrong.