On-demand application-driven network slicing
Disclosed are various embodiments for on-demand application-driven network slicing. In one embodiment, it is determined that an application executed in a particular computing device has a quality-of-service requirement. The particular computing device is connected to a communications network. A request is sent that causes a network slice allocation service to reserve a network slice having the quality-of-service requirement in the communications network. Data to or from the application is transmitted using the network slice.
1. A system, comprising:
a radio-based network including a radio access network and associated core network, wherein an application utilizes a network slice of the radio-based network to send and/or receive network traffic;
a network slice allocation service configured to dynamically modify the network slice in response to application programming interface (API) requests from the application; and
at least one computing device implementing the application, wherein the application is configured to at least:
determine that the network slice does not meet a quality-of-service requirement including at least one of: a minimum bandwidth requirement or a minimum latency requirement;
send a first API request that causes the network slice allocation service to reserve additional capacity for the network slice for the application in the radio-based network, the network slice providing the quality-of-service requirement;
use the network slice to send and/or receive the network traffic;
determine that the network slice exceeds the quality-of-service requirement; and
send a second API request to the network slice allocation service to release at least a portion of capacity reserved for the network slice.
2. The system of claim 1 , wherein the application is further configured to at least:
obtain a token identifying the network slice from the network slice allocation service; and
wherein one or more data packets sent using the network slice identify the network slice with the token.
3. The system of claim 1 , wherein the application is further configured to send or receive subsequent data using a default network connection instead of the network slice after sending the second API request.
4. A computer-implemented method, comprising:
determining, by an application implemented via at least one computing device, that the application has a quality-of-service requirement, the particular computing device being connected to a communications network;
sending, by the application, a request that causes a network slice allocation service to reserve a network slice having the quality-of-service requirement in the communications network; and
transmitting data to or from the application using the network slice.
5. The computer-implemented method of claim 4 ,
further comprising transmitting other data to or from another application executed in the at least one computing device without using the network slice.
6. The computer-implemented method of claim 4 , further comprising:
determining a duration for the network slice based at least in part on a length of time that the application has the quality-of-service requirement; and
wherein the request specifies the duration.
7. The computer-implemented method of claim 6 , wherein the duration corresponds to a session of the application.
8. The computer-implemented method of claim 4 , further comprising:
determining that the application no longer has the quality-of-service requirement; and
sending, by the application, a subsequent request to the network slice allocation service to release the network slice.
9. The computer-implemented method of claim 4 , further comprising:
determining that the application has an increased quality-of-service requirement; and
sending, by the application, a subsequent request that causes the network slice allocation service to modify the network slice to have the increased quality-of-service requirement.
10. The computer-implemented method of claim 4 , further comprising:
determining that the application has a decreased quality-of-service requirement; and
sending, by the application, a subsequent request that causes the network slice allocation service to modify the network slice to have the decreased quality-of-service requirement.
11. The computer-implemented method of claim 4 , further comprising:
determining that another application executed in the at least one computing device has another quality-of-service requirement; and
sending, by the other application, a subsequent request that causes the network slice allocation service to reserve a different network slice for the application, the different network slice being associated with a lesser quality-of-service requirement than a default network slice for the particular computing device.
12. The computer-implemented method of claim 4 , wherein the network slice is associated with a lesser latency than a default network slice.
13. The computer-implemented method of claim 4 , wherein the quality-of-service requirement includes a minimum latency requirement for the application.
14. The computer-implemented method of claim 4 , wherein the quality-of-service requirement includes a minimum bandwidth requirement for the application.
15. The computer-implemented method of claim 4 , wherein sending the request that causes the network slice allocation service to reserve the network slice further comprises sending the request from the application to the network slice allocation service via an application programming interface.
16. The computer-implemented method of claim 4 , further comprising:
receiving, by the application, a user specification of a parameter via a user interface; and
determining, by the application, the quality-of-service requirement based at least in part on the parameter.
17. A non-transitory computer-readable medium embodying an application executable in a computing device, wherein when executed the application causes the computing device to at least:
determine that a network slice in a radio-based network does not meet a quality-of-service requirement for an application;
send a request that causes a network slice allocation service to reserve the network slice for the application in the radio-based network, the network slice providing the quality-of-service requirement; and
send or receive data using the network slice.
18. The non-transitory computer-readable medium of claim 17 , wherein when executed the application further causes the computing device to at least:
send a subsequent request to the network slice allocation service to release the network slice.
19. The non-transitory computer-readable medium of claim 17 , wherein when executed the application further causes the computing device to at least determine a duration for the network slice, the duration being a time duration or a data quantity, and the request specifies the duration.
20. The non-transitory computer-readable medium of claim 17 , wherein when executed the application further causes the computing device to determine a maximum latency for the network slice, and the request specifies the maximum latency.