Skip to content

Commit

Permalink
Merge pull request #71 from cablelabs/benhepworth-patch-1
Browse files Browse the repository at this point in the history
Add Quality By Design API proposal
  • Loading branch information
caubut-charter authored Oct 10, 2024
2 parents 8a576b7 + ca0c8a4 commit d48d932
Show file tree
Hide file tree
Showing 4 changed files with 640 additions and 0 deletions.
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://github.com/raw/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 |
Loading

0 comments on commit d48d932

Please sign in to comment.