-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
M5: Network Assistance Session API: Delivery Boost #84
Comments
@davidjwbbc: I wonder if the boost could be implemented as a positive delta to the current bit rate provisioned for the PDU Session in question? |
Possibly, but that will rely on the PCF reporting the current value back to us (if it's even been set, I suspect it will be Nil to signal best effort) when it responds to the creation of the AppSessionContext or if it's polled for the latest information. For now it seemed easier to just apply a fixed low bar. If notifications were working these too could be monitored to determine the current bitrate limits, but since they're not the only source will be the AppSessionContext itself. There's lots of things we could do, such as dynamic boost levels and boost periods based on current network congestion, per UE boost levels (set and retrieved from the UE database) based on if the UE has a subscription to a preferential service or not, boost rate based upon recent boost requests from the same UE (i.e. if a UE is requesting too many boosts then it may be given a reduced boost to maintain the service for other UEs). |
Let's see how the various PCF implementations behave with our test application before deciding on a particular implementation. |
Started implementing the Delivery Boost Network Assistance feature. The AF can now read the new configuration values in the |
Started implementing the methods to handle delivery boost. On receipt of the If there is no match, returns a response with code If If there is an active delivery boost in the requested network assistance session, the AF sends a Working on mechanism to update to the PCF with associated AppSessionContext. |
Implemented functions to update the PCF AppSessionContext associated with the network assistance session. Currently implementing the state machine associated with this operation. |
On receipt of the response indicating a success from the PCF, the AF:
Next is to implement the timer event for period of the delivery boost. |
Implemented the APIs for Delivery Boost. The code compiles successfully. Moving on to testing this functionality with virtual UE/ gnB. |
Started testing the Delivery boost functionality with virtual UE/ gnB. Test report summary
DetailsOn request of a delivery boost, the AF gets a success response from the PCF. The AF in-turn sets the delivery boost as being active in the network assistance session. Also sends a On timer event, the AF sends a request to update the PCF AppSessionContext associated with the network assistance session. At this point |
Reverting the Application Session Context on timer expiry in the 5GMS AF is now working. Below is the sample output depicting the delivery boost API. Requesting a delivery boost at M5The command below requests a delivery boost for the Network Assistance session
Requesting a delivery boost at M5 during an existing boost periodThis delivery boost is active for 30 seconds. Trying to request a boost within this period returns a response with
Requesting a delivery boost at M5 after an existing boost period has expiredRequesting a delivery boost after the boost period activates the delivery boost again:
|
Introduction
Delivery Boost is one of the Network Assistance facilities that a UE can request via the interface at M5. The Delivery Boost may provide a temporary minimum download bit rate boost for the UE.
Design
This builds on the Network Assistance lifecycle work (see #64).
When the AF starts it will look for the following new configuration values in the
msaf.yaml
file (defaults are shown if the fields do not exist in the configuration file):The AF will need to listen for a
POST
request on the M5 server for the following path:Where
{naSessionId}
is the network assistance session ID returned from Create Network Assistance Session request (see #64).The request for Delivery Boost contains no request body. The response provided by the AF should be a 200 status code and an
OperationSuccessResponse
JSON object which will indicate if the Delivery Boost will be attempted or not. TheCache-Control
header shall contain amax-age
field indicating for how long the AF will maintain the Delivery Boost.When the request comes into the AF, the AF will:
{naSessionId}
exists.naSessionId
doesn't exist then return a 404 error.OperationSuccessResponse
will indicate that this request will be denied and a response will be sent to the UE.mediaComponent.mirBwDl
to a delivery boost value configured in themsaf.yaml
configuration file.OperationSuccessResponse
indicating that the operation was successful and indicate the period for the boost in theCache-Control: max-age
header and field.msaf.yaml
mediaComponent.mirBwDl
or set it back to its previous value and will set the delivery boost as being inactive in the network assistance session.OperationSuccessResponse
indicating that the operation failed.Timer
for that delivery boost.The sequence of events should look like:
The text was updated successfully, but these errors were encountered: