Programmable network slicing framework for cellular system
Through message exchange and slice-aware scheduling between the base station and the controller, efficient configuration and resource allocation of network slices in the cellular communication system are achieved, and the problem of low resource allocation efficiency in the prior art is solved, and system performance and data transmission efficiency of user equipment are improved.
Patent Information
- Application Number
- CN202510190317.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-02-22
- Filing Date
- 2025-02-20
- Publication Date
- 2025-08-22
Smart Images

Figure CN120529328A_ABST
Abstract
Description
Technical Field
[0001] Various example embodiments relate generally to communication systems, and more particularly, but not exclusively, to network slicing in cellular communication systems. Background Art
[0002] Various communication technologies may be used to support communication in various types of communication systems. Summary of the Invention
[0003] In at least some example embodiments, an apparatus includes at least one processor and at least one memory, the at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to at least: exchange, by a base station of a radio access network, messages with a controller of the radio access network related to configuration of a set of network slices on the base station; maintain, by the base station, network slice configuration information for the set of network slices, wherein, for each network slice in the set of network slices, the network slice configuration information includes a corresponding set of network slice parameters for the corresponding network slice, the corresponding set of network slice parameters including an operating state of the corresponding network slice, a radio resource configuration of the corresponding network slice based on the operating state of the corresponding network slice, and a slice-specific scheduling algorithm for the corresponding network slice; and perform, by the base station, slice-aware allocation of frequency domain resources of the radio access network to a set of user equipment associated with the base station based on the network slice configuration information for the set of network slices. In at least some example embodiments, the instructions, when executed by the at least one processor, cause the apparatus to at least: support, by the base station, for at least one network slice in the network slices, configuration of the corresponding set of network slice parameters for the network slice based on one or more control messages from the controller to meet a set of requirements for a use case served by the radio access network. In at least some example embodiments, the operating state of the corresponding network slice is based on a set of supported operating states of the set of network slices, wherein the set of operating states includes an idle state, a dedicated state, a prioritized state, a shared state, and a hybrid state. In at least some example embodiments, the radio resource configuration of the corresponding network slice is based on the operating state of the corresponding network slice, wherein: the corresponding network slice is in the dedicated state, and the radio resource configuration includes an indication of the number of radio resources dedicated to the corresponding network slice; the corresponding network slice is in the prioritized state, and the radio resource configuration includes an indication of the number of radio resources to which the corresponding network slice has priority access; the corresponding network slice is in the shared state, and the radio resource configuration includes an indication of a shared priority parameter indicating the priority of the corresponding network slice for accessing a shared radio resource pool; or the corresponding network slice is in the hybrid state, and the radio resource configuration includes a dedicated radio resource configuration indicating the number of radio resources dedicated to the corresponding network slice, a prioritized radio resource configuration indicating the number of radio resources to which the corresponding network slice has priority access, and a shared priority parameter indicating the priority of the corresponding network slice for accessing a shared radio resource pool. In at least some example embodiments, the slice-specific scheduling algorithm of the corresponding network slice includes one of a proportional fair scheduling algorithm, a round-robin scheduling algorithm, or a maximum throughput scheduling algorithm. In at least some example embodiments, for each network slice in the network slice set, the corresponding network slice parameter set for the corresponding network slice also includes an indication of the radio access technology of the corresponding network slice or at least one item in the radio access network level user plane association set for the corresponding network slice.In at least some example embodiments, for at least one network slice in a set of network slices, an operational state of the corresponding network slice is based on an event-driven network slice state machine, the event-driven network slice state machine supporting: an idle state, in which the corresponding network slice is not allocated any data radio bearers; a dedicated state, in which the corresponding network slice is allocated a dedicated set of radio resources; a priority state, in which the corresponding network slice has priority access to the set of radio resources allocated to the corresponding network slice, and unused radio resources among the radio resources allocated to the corresponding network slice are allocated to a shared radio resource pool; a shared state, in which the corresponding network slice has no explicit allocation of radio resources and is able to access the shared radio resource pool based on a priority of the corresponding network slice; and a hybrid state, in which the corresponding network slice includes a dedicated radio resource configuration, a priority radio resource configuration, and a shared priority parameter. In at least some example embodiments, slice-aware allocation of frequency domain resources of a radio access network to a set of user equipments of the radio access network is based on allocation of frequency domain resources to data radio bearers of the user equipments based on a corresponding operational state of the corresponding network slice, a corresponding radio resource configuration of the corresponding network slice, and a corresponding slice-specific scheduling algorithm of the corresponding network slice. In at least some example embodiments, slice-aware allocation of frequency domain resources of a radio access network to a set of user equipment of the radio access network is based on: a first scheduling phase for providing a first resource allocation for the set of user equipment based on slice-specific scheduling of the frequency domain resources to the user equipment; a second scheduling phase for providing a second resource allocation for the set of user equipment based on system-level scheduling of shared frequency domain resources to the user equipment; and a third scheduling phase, wherein virtual resource blocks are allocated to data radio bearers of the user equipment based on the first resource allocation for the set of user equipment and the second resource allocation for the set of user equipment. In at least some example embodiments, to perform slice-aware allocation of frequency domain resources of a radio access network to a set of user equipment of the radio access network, the instructions, when executed by the at least one processor, cause the apparatus to at least: determine, for each network slice in the set of network slices, a corresponding set of data radio bearers of the set of user equipment associated with the corresponding network slice; and determine, for each user equipment in the set of user equipment, a corresponding set of virtual resource blocks allocated to the corresponding user equipment based on the slice-aware scheduling according to the set of network slices.In at least some example embodiments, to determine, for each user equipment in a set of user equipment, a respective set of virtual resource blocks to allocate to the respective user equipment based on slice-aware scheduling according to a set of network slices, the instructions, when executed by the at least one processor, cause the apparatus to at least: determine, for each network slice in a first subset of network slices comprising network slices in a dedicated state, a prioritized state, or a hybrid state, a first resource allocation indicating a respective number of radio bearers to be allocated to each data radio bearer associated with the respective network slice; determine, for each network slice in a second subset of network slices comprising network slices in a hybrid state or a shared state, a second resource allocation indicating a respective number of radio bearers to be allocated to each data radio bearer associated with the respective network slice; and, for each user equipment in the set of user equipment, determine, based on the first resource allocation and the second resource allocation, an allocation of the respective set of virtual resource blocks to the respective user equipment. In at least some example embodiments, the first resource allocation is determined based on a respective slice-specific scheduling algorithm applied to the respective network slice in the first subset of network slices, and the second resource allocation is determined based on a system-level scheduling algorithm applied to the network slices in the second subset of network slices. In at least some example embodiments, to determine the first resource allocation, the instructions, when executed by the at least one processor, cause the apparatus to at least: determine, for each network slice in the first subset of network slices, a number of radio bearers to be allocated to each data radio bearer associated with the corresponding network slice based on a corresponding slice-specific scheduling algorithm for the corresponding network slice and a corresponding radio resource configuration for the corresponding network slice, the number being up to a maximum value for the corresponding network slice, the maximum value being constrained by a sum of dedicated resources and priority resources associated with the corresponding network slice; and output a list of data radio bearers of user equipment to which the radio bearers are allocated and a corresponding number of radio bearers allocated to the corresponding data radio bearers of the user equipment, and a list of data radio bearers of user equipment to which no radio bearers are allocated. In at least some example embodiments, the slice-specific scheduling algorithm associated with the corresponding network slice comprises one of a proportional fair scheduling algorithm, a round-robin scheduling algorithm, or a maximum throughput scheduling algorithm. In at least some example embodiments, to determine the second resource allocation, the instructions, when executed by the at least one processor, cause the apparatus to at least: determine, for each network slice in the second subset of slices, a number of radio bearers to be allocated to each data radio bearer associated with the respective network slice based on a system-level scheduling algorithm and a respective radio resource configuration of the respective network slice, the number being up to a maximum value defined by resource availability within the shared resource pool; and output a list of data radio bearers for the user equipment and a respective number of radio bearers allocated to the respective data radio bearers of the user equipment.In at least some example embodiments, to determine, for each user equipment in the set of user equipment, an allocation of a corresponding set of virtual resource blocks to the corresponding user equipment based on a first resource allocation and a second resource allocation, the instructions, when executed by the at least one processor, cause the apparatus to at least: determine, for each user equipment in the set of user equipment, a corresponding number of radio bearers allocated to each data radio bearer of the corresponding user equipment based on the first resource allocation and the second resource allocation; and allocate, to each user equipment, a specific virtual resource block for use by each data radio bearer of the corresponding user equipment based on the corresponding number of radio bearers allocated to each data radio bearer of the corresponding user equipment. In at least some example embodiments, the instructions, when executed by the at least one processor, cause the apparatus to at least: support, by the base station, at least one of configuration of a network slice by a controller or collection of operational statistics of the network slice by the controller based on a set of application programming interfaces. In at least some example embodiments, the instructions, when executed by the at least one processor, cause the apparatus to at least: support, by the base station, a set of services between the base station and the controller based on a set of message types. In at least some example embodiments, the service set includes a reporting service set, and the reporting service set includes at least one of a slice context report, a user equipment context report, or a context change report, the slice context report includes configuration information and statistical data of one or more network slices at the base station, the user equipment context report includes slice-related configuration information and statistical data of one or more user equipment at the base station, and the context change report is used to synchronize slice-related contexts between the controller and the base station. In at least some example embodiments, the service set includes a control service set, wherein the control service set includes at least one of a slice configuration service for configuring at least one network slice parameter for one or more network slices, or a user equipment configuration service for configuring user equipment-specific slice parameters. In at least some example embodiments, the message type set includes at least one of an indication message or a control message. In at least some example embodiments, the instruction, when executed by the at least one processor, causes the apparatus to at least: receive, by the base station, a telemetry subscription request from the controller, the telemetry subscription request instructing the controller to receive a request for slice statistics associated with one or more network slices; convert, by the base station based on an application programming interface, the telemetry subscription request into a telemetry registration request, the telemetry registration request being configured to register a request for the controller to receive slice statistics associated with one or more network slices; and support, by the base station, a registration request for the controller to receive slice statistics associated with the one or more network slices based on the telemetry registration request.In at least some example embodiments, the instruction, when executed by the at least one processor, causes the apparatus to at least: detect, by the base station, a trigger condition based on registration of a controller's request to receive slice statistics associated with one or more network slices; obtain, by the base station, a set of slice statistics associated with the one or more network slices in response to the trigger condition and based on an application programming interface; and send, by the base station, an indication message to the controller including the set of slice statistics associated with the one or more network slices.
[0004] In at least some example embodiments, a non-transitory computer-readable medium stores computer program instructions that, when executed by an apparatus, cause the apparatus to at least: exchange, by a base station of a radio access network, messages with a controller of the radio access network related to configuration of a set of network slices on the base station; maintain, by the base station, network slice configuration information for the set of network slices, wherein, for each network slice in the set of network slices, the network slice configuration information includes, for each network slice in the set of network slices, a corresponding set of network slice parameters for the corresponding network slice, the corresponding set of network slice parameters including an operating state of the corresponding network slice, a radio resource configuration of the corresponding network slice based on the operating state of the corresponding network slice, and a slice-specific scheduling algorithm for the corresponding network slice; and perform, by the base station, slice-aware allocation of frequency domain resources of the radio access network to a set of user equipment associated with the base station based on the network slice configuration information for the set of network slices. In at least some example embodiments, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: support, by the base station, for at least one network slice in the network slices, configuration of the corresponding set of network slice parameters for the network slice based on one or more control messages from the controller to meet a set of requirements for a use case served by the radio access network. In at least some example embodiments, the operating state of the corresponding network slice is based on a set of supported operating states of the set of network slices, wherein the set of operating states includes an idle state, a dedicated state, a prioritized state, a shared state, and a hybrid state. In at least some example embodiments, the radio resource configuration of the corresponding network slice is based on the operating state of the corresponding network slice, wherein: the corresponding network slice is in the dedicated state, and the radio resource configuration includes an indication of the number of radio resources dedicated to the corresponding network slice; the corresponding network slice is in the prioritized state, and the radio resource configuration includes an indication of the number of radio resources to which the corresponding network slice has priority access; the corresponding network slice is in the shared state, and the radio resource configuration includes an indication of a shared priority parameter indicating the priority of the corresponding network slice for accessing a shared radio resource pool; or the corresponding network slice is in the hybrid state, and the radio resource configuration includes a dedicated radio resource configuration indicating the number of radio resources dedicated to the corresponding network slice, a prioritized radio resource configuration indicating the number of radio resources to which the corresponding network slice has priority access, and a shared priority parameter indicating the priority of the corresponding network slice for accessing a shared radio resource pool. In at least some example embodiments, the slice-specific scheduling algorithm of the corresponding network slice includes one of a proportional fair scheduling algorithm, a round-robin scheduling algorithm, or a maximum throughput scheduling algorithm. In at least some example embodiments, for each network slice in the network slice set, the corresponding network slice parameter set for the corresponding network slice also includes an indication of the radio access technology of the corresponding network slice or at least one item in the radio access network level user plane association set for the corresponding network slice.In at least some example embodiments, for at least one network slice in a set of network slices, an operational state of the corresponding network slice is based on an event-driven network slice state machine, the event-driven network slice state machine supporting: an idle state, in which the corresponding network slice is not allocated any data radio bearers; a dedicated state, in which the corresponding network slice is allocated a dedicated set of radio resources; a priority state, in which the corresponding network slice has priority access to the set of radio resources allocated to the corresponding network slice, and unused radio resources among the radio resources allocated to the corresponding network slice are allocated to a shared radio resource pool; a shared state, in which the corresponding network slice has no explicit allocation of radio resources and is able to access the shared radio resource pool based on a priority of the corresponding network slice; and a hybrid state, in which the corresponding network slice includes a dedicated radio resource configuration, a priority radio resource configuration, and a shared priority parameter. In at least some example embodiments, slice-aware allocation of frequency domain resources of a radio access network to a set of user equipments of the radio access network is based on allocation of frequency domain resources to data radio bearers of the user equipments based on a corresponding operational state of the corresponding network slice, a corresponding radio resource configuration of the corresponding network slice, and a corresponding slice-specific scheduling algorithm of the corresponding network slice. In at least some example embodiments, slice-aware allocation of frequency domain resources of a radio access network to a set of user equipment of the radio access network is based on: a first scheduling phase for providing a first resource allocation for the set of user equipment based on slice-specific scheduling of the frequency domain resources to the user equipment; a second scheduling phase for providing a second resource allocation for the set of user equipment based on system-level scheduling of shared frequency domain resources to the user equipment; and a third scheduling phase, wherein virtual resource blocks are allocated to data radio bearers of the user equipment based on the first resource allocation for the set of user equipment and the second resource allocation for the set of user equipment. In at least some example embodiments, to perform slice-aware allocation of frequency domain resources of a radio access network to a set of user equipment of the radio access network, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: determine, for each network slice in the set of network slices, a corresponding set of data radio bearers of the set of user equipment associated with the corresponding network slice; and determine, for each user equipment in the set of user equipment, a corresponding set of virtual resource blocks allocated to the corresponding user equipment based on the slice-aware scheduling according to the set of network slices.In at least some example embodiments, to determine, for each user equipment in a set of user equipment, a respective set of virtual resource blocks to allocate to the respective user equipment based on slice-aware scheduling according to a set of network slices, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: determine, for each network slice in a first subset of network slices comprising network slices in a dedicated state, a priority state, or a hybrid state, a first resource allocation indicating a respective number of radio bearers to be allocated to each data radio bearer associated with the respective network slice; determine, for each network slice in a second subset of network slices comprising network slices in a hybrid state or a shared state, a second resource allocation indicating a respective number of radio bearers to be allocated to each data radio bearer associated with the respective network slice; and, for each user equipment in the set of user equipment, determine, based on the first resource allocation and the second resource allocation, an allocation of the respective set of virtual resource blocks to the respective user equipment. In at least some example embodiments, the first resource allocation is determined based on a respective slice-specific scheduling algorithm applied to the respective network slice in the first subset of network slices, and the second resource allocation is determined based on a system-level scheduling algorithm applied to the network slices in the second subset of network slices. In at least some example embodiments, to determine the first resource allocation, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: determine, for each network slice in the first subset of network slices, a number of radio bearers to be allocated to each data radio bearer associated with the corresponding network slice based on a corresponding slice-specific scheduling algorithm for the corresponding network slice and a corresponding radio resource configuration for the corresponding network slice, the number being up to a maximum value for the corresponding network slice, the maximum value being constrained by a sum of dedicated resources and priority resources associated with the corresponding network slice; and output a list of data radio bearers of user equipment to which radio bearers are allocated and a corresponding number of radio bearers allocated to the corresponding data radio bearers of the user equipment, and a list of data radio bearers of user equipment to which no radio bearers are allocated. In at least some example embodiments, the slice-specific scheduling algorithm associated with the corresponding network slice comprises one of a proportional fair scheduling algorithm, a round-robin scheduling algorithm, or a maximum throughput scheduling algorithm. In at least some example embodiments, to determine the second resource allocation, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: determine, for each network slice in the second subset of slices, a number of radio bearers to be allocated to each data radio bearer associated with the respective network slice based on a system-level scheduling algorithm and a respective radio resource configuration of the respective network slice, the number being up to a maximum value defined by resource availability within the shared resource pool; and output a list of data radio bearers for the user equipment and a respective number of radio bearers allocated to the respective data radio bearers of the user equipment.In at least some example embodiments, to determine, for each user equipment in the set of user equipment, an allocation of a corresponding set of virtual resource blocks to the corresponding user equipment based on a first resource allocation and a second resource allocation, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: determine, for each user equipment in the set of user equipment, a corresponding number of radio bearers allocated to each data radio bearer of the corresponding user equipment based on the first resource allocation and the second resource allocation; and allocate, to each user equipment, a specific virtual resource block for use by each data radio bearer of the corresponding user equipment based on the corresponding number of radio bearers allocated to each data radio bearer of the corresponding user equipment. In at least some example embodiments, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: support, by the base station, at least one of configuration of a network slice by a controller or collection of operational statistics of the network slice by the controller based on a set of application programming interfaces. In at least some example embodiments, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: support, by the base station, a set of services between the base station and the controller based on a set of message types. In at least some example embodiments, the service set includes a reporting service set, and the reporting service set includes at least one of a slice context report, a user equipment context report, or a context change report, the slice context report includes configuration information and statistical data of one or more network slices at the base station, the user equipment context report includes slice-related configuration information and statistical data of one or more user equipment at the base station, and the context change report is used to synchronize slice-related contexts between the controller and the base station. In at least some example embodiments, the service set includes a control service set, wherein the control service set includes at least one of a slice configuration service for configuring at least one network slice parameter for one or more network slices, or a user equipment configuration service for configuring user equipment-specific slice parameters. In at least some example embodiments, the message type set includes at least one of an indication message or a control message. In at least some example embodiments, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: receive, by a base station, a telemetry subscription request from a controller, the telemetry subscription request instructing the controller to receive a request for slice statistics associated with one or more network slices; convert, by the base station based on an application programming interface, the telemetry subscription request into a telemetry registration request, the telemetry registration request being configured to register a request for the controller to receive slice statistics associated with one or more network slices; and support, by the base station, a registration request for the controller to receive slice statistics associated with one or more network slices based on the telemetry registration request.In at least some example embodiments, the computer program instructions, when executed by the at least one apparatus, cause the apparatus to at least: detect, by the base station, a trigger condition based on registration of a controller's request to receive slice statistics associated with one or more network slices; obtain, by the base station, a set of slice statistics associated with the one or more network slices in response to the trigger condition and based on an application programming interface; and send, by the base station, an indication message to the controller including the set of slice statistics associated with the one or more network slices.
[0005] In at least some example embodiments, a method includes: exchanging, by a base station of a radio access network and a controller of the radio access network, messages related to configuration of a set of network slices on the base station; maintaining, by the base station, network slice configuration information for the set of network slices, wherein, for each network slice in the set of network slices, the network slice configuration information includes a corresponding set of network slice parameters for the corresponding network slice, the corresponding set of network slice parameters including an operating state of the corresponding network slice, a radio resource configuration of the corresponding network slice based on the operating state of the corresponding network slice, and a slice-specific scheduling algorithm for the corresponding network slice; and performing, by the base station, slice-aware allocation of frequency domain resources of the radio access network to a set of user equipment associated with the base station based on the network slice configuration information for the set of network slices. In at least some example embodiments, the method includes: supporting, by the base station, for at least one network slice in the network slices, configuration of the corresponding set of network slice parameters for the network slice based on one or more control messages from the controller to meet a set of requirements for a use case served by the radio access network. In at least some example embodiments, the operating state of the corresponding network slice is based on a set of supported operating states for the set of network slices, wherein the set of operating states includes an idle state, a dedicated state, a prioritized state, a shared state, and a hybrid state. In at least some example embodiments, a radio resource configuration of the corresponding network slice is based on an operational state of the corresponding network slice, wherein: the corresponding network slice is in a dedicated state, and the radio resource configuration includes an indication of a number of radio resources dedicated to the corresponding network slice; the corresponding network slice is in a prioritized state, and the radio resource configuration includes an indication of a number of radio resources to which the corresponding network slice has priority access; the corresponding network slice is in a shared state, and the radio resource configuration includes an indication of a shared priority parameter indicating a priority of the corresponding network slice for accessing a shared radio resource pool; or the corresponding network slice is in a hybrid state, and the radio resource configuration includes a dedicated radio resource configuration indicating a number of radio resources dedicated to the corresponding network slice, a prioritized radio resource configuration indicating a number of radio resources to which the corresponding network slice has priority access, and a shared priority parameter indicating a priority of the corresponding network slice for accessing the shared radio resource pool. In at least some example embodiments, the slice-specific scheduling algorithm of the corresponding network slice includes one of a proportional fair scheduling algorithm, a round-robin scheduling algorithm, or a maximum throughput scheduling algorithm. In at least some example embodiments, for each network slice in the network slice set, the corresponding network slice parameter set for the corresponding network slice also includes an indication of the radio access technology of the corresponding network slice or at least one item in the radio access network level user plane association set for the corresponding network slice.In at least some example embodiments, for at least one network slice in a set of network slices, an operational state of the corresponding network slice is based on an event-driven network slice state machine, the event-driven network slice state machine supporting: an idle state, in which the corresponding network slice is not allocated any data radio bearers; a dedicated state, in which the corresponding network slice is allocated a dedicated set of radio resources; a priority state, in which the corresponding network slice has priority access to the set of radio resources allocated to the corresponding network slice, and unused radio resources among the radio resources allocated to the corresponding network slice are allocated to a shared radio resource pool; a shared state, in which the corresponding network slice has no explicit allocation of radio resources and is able to access the shared radio resource pool based on a priority of the corresponding network slice; and a hybrid state, in which the corresponding network slice includes a dedicated radio resource configuration, a priority radio resource configuration, and a shared priority parameter. In at least some example embodiments, slice-aware allocation of frequency domain resources of a radio access network to a set of user equipments of the radio access network is based on allocation of frequency domain resources to data radio bearers of the user equipments based on a corresponding operational state of the corresponding network slice, a corresponding radio resource configuration of the corresponding network slice, and a corresponding slice-specific scheduling algorithm of the corresponding network slice. In at least some example embodiments, slice-aware allocation of frequency domain resources of a radio access network to a set of user equipment of the radio access network is based on: a first scheduling phase for providing a first resource allocation for the set of user equipment based on slice-specific scheduling of the frequency domain resources to the user equipment; a second scheduling phase for providing a second resource allocation for the set of user equipment based on system-level scheduling of shared frequency domain resources to the user equipment; and a third scheduling phase, wherein virtual resource blocks are allocated to data radio bearers of the user equipment based on the first resource allocation for the set of user equipment and the second resource allocation for the set of user equipment. In at least some example embodiments, performing slice-aware allocation of frequency domain resources of the radio access network to the set of user equipment of the radio access network includes: determining, for each network slice in the set of network slices, a corresponding set of data radio bearers of the set of user equipment associated with the corresponding network slice; and determining, for each user equipment in the set of user equipment, a corresponding set of virtual resource blocks allocated to the corresponding user equipment based on the slice-aware scheduling according to the set of network slices.In at least some example embodiments, for each user device in the set of user devices, determining a corresponding set of virtual resource blocks to allocate to the corresponding user device based on slice-aware scheduling according to the set of network slices includes: determining, for each network slice in a first subset of network slices including network slices in a dedicated state, a priority state, or a hybrid state in the network slices, a first resource allocation indicating a corresponding number of radio bearers to be allocated to each data radio bearer associated with the corresponding network slice; determining, for each network slice in a second subset of network slices including network slices in a hybrid state or a shared state in the network slices, a second resource allocation indicating a number of radio bearers to be allocated to each data radio bearer associated with the corresponding network slice; and determining, for each user device in the set of user devices, an allocation of the corresponding set of virtual resource blocks to the corresponding user device based on the first resource allocation and the second resource allocation. In at least some example embodiments, the first resource allocation is determined based on a corresponding slice-specific scheduling algorithm applied to the corresponding network slice in the network slices in the first subset of network slices, wherein the second resource allocation is determined based on a system-level scheduling algorithm applied to the network slices in the network slices in the second subset of network slices. In at least some example embodiments, determining the first resource allocation includes: determining, for each network slice in the first subset of network slices, a number of radio bearers to be allocated to each data radio bearer associated with the corresponding network slice based on a corresponding slice-specific scheduling algorithm for the corresponding network slice and a corresponding radio resource configuration for the corresponding network slice, the number being up to a maximum value for the corresponding network slice, the maximum value being constrained by a sum of dedicated resources and priority resources associated with the corresponding network slice; and outputting a list of data radio bearers of user equipment to which the radio bearers are allocated and a corresponding number of radio bearers allocated to the corresponding data radio bearers of the user equipment, and a list of data radio bearers of user equipment to which no radio bearers are allocated. In at least some example embodiments, the slice-specific scheduling algorithm associated with the corresponding network slice includes one of a proportional fair scheduling algorithm, a round-robin scheduling algorithm, or a maximum throughput scheduling algorithm. In at least some example embodiments, determining the second resource allocation includes: determining, for each network slice in the second subset of slices, a number of radio bearers to be allocated to each data radio bearer associated with the respective network slice based on a system level scheduling algorithm and a respective radio resource configuration of the respective network slice, the number being up to a maximum value defined by resource availability within a shared resource pool; and outputting a list of data radio bearers for the user equipment and the respective numbers of radio bearers allocated to the respective data radio bearers of the user equipment.In at least some example embodiments, determining, for each user equipment in the set of user equipment, an allocation of a corresponding set of virtual resource blocks to the corresponding user equipment based on the first resource allocation and the second resource allocation includes: determining, for each user equipment in the set of user equipment, a corresponding number of radio bearers allocated to each data radio bearer of the corresponding user equipment based on the first resource allocation and the second resource allocation; and allocating a specific virtual resource block to each user equipment for use by each data radio bearer of the corresponding user equipment based on the corresponding number of radio bearers allocated to each data radio bearer of the corresponding user equipment. In at least some example embodiments, the method includes: supporting, by the base station, at least one of configuration of a network slice by a controller or collection of operation statistics of the network slice by the controller based on a set of application programming interfaces. In at least some example embodiments, the method includes: supporting, by the base station, a set of services between the base station and the controller based on a set of message types. In at least some example embodiments, the service set includes a reporting service set, and the reporting service set includes at least one of a slice context report, a user equipment context report, or a context change report, the slice context report includes configuration information and statistical data of one or more network slices at the base station, the user equipment context report includes slice-related configuration information and statistical data of one or more user equipment at the base station, and the context change report is used to synchronize slice-related contexts between the controller and the base station. In at least some example embodiments, the service set includes a control service set, wherein the control service set includes at least one of a slice configuration service for configuring at least one network slice parameter for one or more network slices, or a user equipment configuration service for configuring user equipment-specific slice parameters. In at least some example embodiments, the message type set includes at least one of an indication message or a control message. In at least some example embodiments, the method includes: receiving, by a base station, a telemetry subscription request from a controller, the telemetry subscription request instructing the controller to receive a request for slice statistics associated with one or more network slices; converting, by the base station, the telemetry subscription request, based on an application programming interface, a telemetry registration request, the telemetry registration request being configured to register the controller to receive a request for slice statistics associated with the one or more network slices; and supporting, by the base station, a registration request by the controller to receive slice statistics associated with the one or more network slices based on the telemetry registration request. In at least some example embodiments, the method includes: detecting, by the base station, a trigger condition based on registration by the controller of a request to receive slice statistics associated with the one or more network slices; obtaining, by the base station, a set of slice statistics associated with the one or more network slices in response to the trigger condition and based on the application programming interface; and sending, by the base station, an indication message to the controller including the set of slice statistics associated with the one or more network slices.
[0006] In at least some example embodiments, an apparatus includes: means for exchanging, by a base station of a radio access network, messages related to configuration of a set of network slices on the base station with a controller of the radio access network; means for maintaining, by the base station, network slice configuration information for the set of network slices, wherein, for each network slice in the set of network slices, the network slice configuration information includes, for each network slice in the set of network slices, a corresponding set of network slice parameters for the corresponding network slice, the corresponding set of network slice parameters including an operating state of the corresponding network slice, a radio resource configuration of the corresponding network slice based on the operating state of the corresponding network slice, and a slice-specific scheduling algorithm for the corresponding network slice; and means for performing, by the base station, slice-aware allocation of frequency domain resources of the radio access network to a set of user equipment associated with the base station based on the network slice configuration information for the set of network slices. In at least some example embodiments, the apparatus includes: means for supporting, by the base station, configuration of the corresponding set of network slice parameters for at least one network slice in the network slices based on one or more control messages from the controller to meet a set of requirements for a use case served by the radio access network. In at least some example embodiments, the operating state of the corresponding network slice is based on a set of supported operating states for the set of network slices, wherein the set of operating states includes an idle state, a dedicated state, a prioritized state, a shared state, and a hybrid state. In at least some example embodiments, a radio resource configuration of the corresponding network slice is based on an operational state of the corresponding network slice, wherein: the corresponding network slice is in a dedicated state, and the radio resource configuration includes an indication of a number of radio resources dedicated to the corresponding network slice; the corresponding network slice is in a prioritized state, and the radio resource configuration includes an indication of a number of radio resources to which the corresponding network slice has priority access; the corresponding network slice is in a shared state, and the radio resource configuration includes an indication of a shared priority parameter indicating a priority of the corresponding network slice for accessing a shared radio resource pool; or the corresponding network slice is in a hybrid state, and the radio resource configuration includes a dedicated radio resource configuration indicating a number of radio resources dedicated to the corresponding network slice, a prioritized radio resource configuration indicating a number of radio resources to which the corresponding network slice has priority access, and a shared priority parameter indicating a priority of the corresponding network slice for accessing the shared radio resource pool. In at least some example embodiments, the slice-specific scheduling algorithm of the corresponding network slice includes one of a proportional fair scheduling algorithm, a round-robin scheduling algorithm, or a maximum throughput scheduling algorithm. In at least some example embodiments, for each network slice in the network slice set, the corresponding network slice parameter set for the corresponding network slice also includes an indication of the radio access technology of the corresponding network slice or at least one item in the radio access network level user plane association set for the corresponding network slice.In at least some example embodiments, for at least one network slice in a set of network slices, an operational state of the corresponding network slice is based on an event-driven network slice state machine, the event-driven network slice state machine supporting: an idle state, in which the corresponding network slice is not allocated any data radio bearers; a dedicated state, in which the corresponding network slice is allocated a dedicated set of radio resources; a priority state, in which the corresponding network slice has priority access to the set of radio resources allocated to the corresponding network slice, and unused radio resources among the radio resources allocated to the corresponding network slice are allocated to a shared radio resource pool; a shared state, in which the corresponding network slice has no explicit allocation of radio resources and is able to access the shared radio resource pool based on a priority of the corresponding network slice; and a hybrid state, in which the corresponding network slice includes a dedicated radio resource configuration, a priority radio resource configuration, and a shared priority parameter. In at least some example embodiments, slice-aware allocation of frequency domain resources of a radio access network to a set of user equipments of the radio access network is based on allocation of frequency domain resources to data radio bearers of the user equipments based on a corresponding operational state of the corresponding network slice, a corresponding radio resource configuration of the corresponding network slice, and a corresponding slice-specific scheduling algorithm of the corresponding network slice. In at least some example embodiments, slice-aware allocation of frequency domain resources of a radio access network to a set of user equipment of the radio access network is based on: a first scheduling phase for providing a first resource allocation for the set of user equipment based on slice-specific scheduling of the frequency domain resources to the user equipment; a second scheduling phase for providing a second resource allocation for the set of user equipment based on system-level scheduling of shared frequency domain resources to the user equipment; and a third scheduling phase, wherein virtual resource blocks are allocated to data radio bearers of the user equipment based on the first resource allocation for the set of user equipment and the second resource allocation for the set of user equipment. In at least some example embodiments, means for performing slice-aware allocation of frequency domain resources of a radio access network to a set of user equipment of the radio access network includes: means for determining, for each network slice in the set of network slices, a corresponding set of data radio bearers of the set of user equipment associated with the corresponding network slice; and means for determining, for each user equipment in the set of user equipment, a corresponding set of virtual resource blocks to allocate to the corresponding user equipment based on the slice-aware scheduling according to the set of network slices.In at least some example embodiments, means for determining, for each user equipment in a set of user equipment, a respective set of virtual resource blocks to allocate to the respective user equipment based on slice-aware scheduling according to a set of network slices includes: means for determining, for each network slice in a first subset of network slices including network slices in a dedicated state, a prioritized state, or a hybrid state of the network slices, a first resource allocation indicating a respective number of radio bearers to be allocated to each data radio bearer associated with the respective network slice; means for determining, for each network slice in a second subset of network slices including network slices in a hybrid state or a shared state of the network slices, a second resource allocation indicating a number of radio bearers to be allocated to each data radio bearer associated with the respective network slice; and means for determining, for each user equipment in the set of user equipment, an allocation of the respective set of virtual resource blocks to the respective user equipment based on the first resource allocation and the second resource allocation. In at least some example embodiments, the first resource allocation is determined based on a respective slice-specific scheduling algorithm applied to the respective network slice in the network slices in the first subset of network slices, wherein the second resource allocation is determined based on a system-level scheduling algorithm applied to the network slices in the network slices in the second subset of network slices. In at least some example embodiments, the means for determining the first resource allocation includes: means for determining, for each network slice in the first subset of network slices, a number of radio bearers to be allocated to each data radio bearer associated with the respective network slice based on a respective slice-specific scheduling algorithm for the respective network slice and a respective radio resource configuration for the respective network slice, the number being up to a maximum value for the respective network slice, the maximum value being constrained by a sum of dedicated resources and priority resources associated with the respective network slice; and means for outputting a list of data radio bearers for user equipment to which the radio bearers are allocated and a respective number of radio bearers allocated to the respective data radio bearers for the user equipment, and a list of data radio bearers for user equipment to which no radio bearers are allocated. In at least some example embodiments, the slice-specific scheduling algorithm associated with the respective network slice includes one of a proportional fair scheduling algorithm, a round-robin scheduling algorithm, or a maximum throughput scheduling algorithm. In at least some example embodiments, the means for determining the second resource allocation comprises: means for determining, for each network slice in the second subset of slices, a number of radio bearers to be allocated to each data radio bearer associated with the respective network slice based on a system level scheduling algorithm and a respective radio resource configuration of the respective network slice, the number being up to a maximum value defined by resource availability within the shared resource pool; and means for outputting a list of data radio bearers for the user equipment and a respective number of radio bearers allocated to the respective data radio bearers of the user equipment.In at least some example embodiments, the means for determining, for each user equipment in the set of user equipment, an allocation of a corresponding set of virtual resource blocks to the corresponding user equipment based on the first resource allocation and the second resource allocation includes: means for determining, for each user equipment in the set of user equipment, a corresponding number of radio bearers allocated to each data radio bearer of the corresponding user equipment based on the first resource allocation and the second resource allocation; and means for allocating a specific virtual resource block to each user equipment for use by each data radio bearer of the corresponding user equipment based on the corresponding number of radio bearers allocated to each data radio bearer of the corresponding user equipment. In at least some example embodiments, the apparatus includes: means for supporting, by the base station, at least one of configuration of a network slice by a controller or collection of operation statistics of the network slice by the controller based on a set of application programming interfaces. In at least some example embodiments, the apparatus includes: means for supporting, by the base station, a set of services between the base station and the controller based on a set of message types. In at least some example embodiments, the service set includes a reporting service set, and the reporting service set includes at least one of a slice context report, a user equipment context report, or a context change report, the slice context report includes configuration information and statistical data of one or more network slices at the base station, the user equipment context report includes slice-related configuration information and statistical data of one or more user equipment at the base station, and the context change report is used to synchronize slice-related contexts between the controller and the base station. In at least some example embodiments, the service set includes a control service set, wherein the control service set includes at least one of a slice configuration service for configuring at least one network slice parameter for one or more network slices, or a user equipment configuration service for configuring user equipment-specific slice parameters. In at least some example embodiments, the message type set includes at least one of an indication message or a control message. In at least some example embodiments, the apparatus includes: a component for receiving, by a base station, a telemetry subscription request from a controller, the telemetry subscription request indicating a request for the controller to receive slice statistics associated with one or more network slices; a component for converting, by the base station based on an application programming interface, the telemetry subscription request into a telemetry registration request, the telemetry registration request being configured to register a request for the controller to receive slice statistics associated with one or more network slices; and a component for supporting, by the base station, a registration request for the controller to receive slice statistics associated with one or more network slices based on the telemetry registration request.In at least some example embodiments, the apparatus includes: a component for detecting, by a base station, a trigger condition based on registration of a controller's request to receive slice statistics associated with one or more network slices; a component for obtaining, by the base station, a set of slice statistics associated with one or more network slices in response to the trigger condition and based on an application programming interface; and a component for sending, by the base station, an indication message to the controller including the set of slice statistics associated with one or more network slices. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The teachings herein may be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
[0008] Figure 1 Depicted are example embodiments of a communications system including a radio access network (RAN) configured to support various example embodiments of a programmable network slicing framework;
[0009] Figure 2 Depicted are example embodiments of a FlexiSLICE programmable RAN slicing framework, a portion of which is configured to support RAN slicing in the context of a RAN;
[0010] Figure 3 depicts an example embodiment of a RAN slice state machine configured to support transitions between slice states of a RAN slice for a RAN slice;
[0011] Figure 4 Describes an example embodiment of a process for allocating frequency domain resources of a RAN to a set of user equipment based on the FlexiSLICE frequency domain scheduling framework;
[0012] Figure 5 An example embodiment of a portion of a FlexiSLICE frequency domain scheduling framework configured to support allocation of frequency domain resources of a RAN to a set of user equipment based on a slice-specific frequency domain scheduling phase is depicted;
[0013] Figure 6 An example embodiment of a portion of a FlexiSLICE frequency domain scheduling framework configured to support allocation of frequency domain resources of a RAN to a set of user equipment based on a system-level shared frequency domain scheduling phase is depicted;
[0014] Figure 7 Describes an example embodiment of a FlexiSLICE telemetry registration process for use within the FlexiSLICE framework;
[0015] Figure 8 Describes an example embodiment of a FlexiSLICE context reporting process for use within the FlexiSLICE framework;
[0016] Figure 9 Describes an example embodiment of a FlexiSLICE context configuration process for use within the FlexiSLICE framework;
[0017] Figure 10 Described are example embodiments of methods used by a controller to support network slicing in a RAN;
[0018] Figure 11 Described are example embodiments of a method by a base station (BS) for supporting network slicing in a RAN;
[0019] Figure 12A and Figure 12B depicts results of an example implementation of FlexiSLICE within an over-the-air (OTA) experimental network supporting a collection of user devices; and
[0020] Figure 13 An example embodiment of a computer suitable for performing the various functions presented herein is depicted.
[0021] To facilitate understanding, identical reference numerals have been used herein, where possible, to designate identical elements that are common to the various figures. DETAILED DESCRIPTION
[0022] Various example embodiments of a programmable network slicing framework are presented herein. Various example embodiments of the programmable network slicing framework may be configured to support programmable network slicing in a cellular communication system. Various example embodiments of the programmable network slicing framework may be configured to support programmable network slicing in a radio access network (RAN) portion of a cellular communication system based on a programmable RAN slicing framework. Various example embodiments of the programmable RAN slicing framework may be configured to support programmable network slicing in the RAN based on using a set of RAN slices having associated network slice operational states and associated network slice configurations that may be used to allocate RAN resources to user equipment (UE) of the RAN. Various example embodiments of the programmable RAN slicing framework may be configured to support programmable network slicing in the RAN based on allocating frequency domain resources of a RAN slice to a UE of the RAN based on the network slice operational states and associated network slice configurations of the RAN slice using a frequency domain scheduling capability, wherein the frequency domain scheduling capability is configured to support a slice specific scheduling phase, a system level scheduling phase, and a UE scheduling phase. Various example embodiments of the programmable RAN slicing framework may be configured to support programmable network slicing in the RAN based on the use of various types of messaging to support programmable network slicing (e.g., messaging between a base station (BS) and a controller, internal messaging within the BS based on one or more application programming interfaces (APIs), etc., and various combinations thereof). The various example embodiments of the programmable RAN slicing framework may be referred to herein as FlexiSLICE, but it should be understood that the various example embodiments presented herein as forming part of the FlexiSLICE framework (or more generally described as part of a programmable network slicing framework or programmable network slicing capability) may be used to support network slicing in various other communication network contexts (e.g., in other parts of cellular communication systems, other types of wireless communication networks, other types of communication networks, etc., and various combinations thereof). It should be understood that these and various other example embodiments of the programmable network slicing framework may be further understood by first considering the more general aspects of network slicing and radio access network slicing as further discussed below.
[0023] Network slicing is a virtual network architecture that supports the creation of multiple virtual networks on top of a single underlying physical network, thereby enabling the creation of multiple network slices that can be configured in various ways for various purposes. Network slicing is becoming increasingly important in communications networks for a variety of reasons. For example, the evolution of cellular networks from fourth generation (4G) to fifth generation (5G), and from 5G to 5G Advanced and sixth generation (6G), has brought with it a plethora of new use cases related to the corresponding industries that can rely on such cellular networks (e.g., manufacturing, logistics, automotive, energy, extended reality, etc.). These new use cases are often characterized by highly diverse and sometimes conflicting communication requirements (such as data rate, latency, availability, and reliability). Furthermore, the evolution of cellular networks often leads to increasing network complexity associated with new features and services configured to deliver the latest communication technologies and related communication services. Consequently, this service diversity and growing network complexity pose significant challenges to communications service providers (CSPs), and the dynamic orchestration and coordination of network resources has become increasingly critical to operational efficiency. Since building a dedicated network for every potential use case is often economically unfeasible, network slicing has become an important technology for effectively supporting highly diverse use cases. Network slicing allows CSPs to run multiple logical networks as virtually isolated slices on a common physical network infrastructure, thereby allowing network "as a service" delivery, where each configured network slice has a different service level agreement (SLA). Although network slices can traverse all domains of the network - edge, access, transport and core - slices in the radio access network (RAN) portion of the communication network (i.e., RAN slices) are generally considered more important than slices in other parts of the communication network.
[0024] RAN slicing is generally important because it has a direct, perceptible impact on the end-user experience. Therefore, RAN slicing is often a key component of the Radio Resource Management (RRM) strategy adopted by CSPs to achieve optimal radio resource utilization and enhanced network monetization. To this end, 3GPP introduced the Network Resource Model (NRM) in 3GPP Technical Specification (TS) 28.451, which provides an information model for the management of network slicing. NRM introduces the concept of RRM policy ratios that can be applied to a group of one or more RAN slices. This policy generally allows flexibility in the allocation of resources to RAN slices. At the same time, driven by the desire to simplify RAN management and control, a consortium of vendors, CSPs, and academic institutions, namely the Open Radio Access Network (O-RAN) Alliance, introduced the O-RAN architecture, which paves the way for robust software-defined control of the access network. O-RAN offers the possibility of introducing new network control functions and assurance frameworks specifically for the RAN through a set of external network controllers, namely the RAN Intelligent Controllers (RICs), including near real-time (near RT) RICs (near-RT RICs) and non-real-time (non-RT) RICs (non-RT RICs). In particular, the near-RT RICs operate on a timescale of >10ms and perform near real-time control of the underlying RAN over the E2 interface through applications called xApps. The main functions of the near-RT RICs include interpreting and enforcing non-RT RIC policies, as well as statistics collection. On the other hand, as part of the Service Management and Orchestration (SMO) framework, the non-RT RICs oversee the control and optimization of RAN elements on a non-real-time basis (i.e., >1s). This control is enabled through applications called rApps, which are responsible for providing policy-based guidance and enriched information to the near-RT RICs. The SMOs (and therefore the non-RT RICs) interact with the RAN and the near-RT RICs using the O1 interface, and the non-RT RICs can also interact with the near-RT RICs using the A1 interface. The near-RT and non-RT control and assurance capabilities introduced by the O-RAN architecture make it a useful ecosystem for managing and optimizing network slicing, with several use cases focused on RAN slicing proposed in the specifications.
[0025] Considering the importance of RAN slicing as described above, various example embodiments of the programmable network slicing framework may be configured to support a programmable RAN slicing framework. Various example embodiments of the programmable RAN slicing framework may be configured to support new functions and services, new interfaces, new methods, and new capabilities to support highly flexible and programmable RAN slicing operations. Various example embodiments of the programmable RAN slicing framework may be configured to provide RAN slicing assurance through use case-driven customization primitives and service-based optimization. Various example embodiments of the programmable RAN slicing framework may be configured to provide a comprehensive RAN slicing framework within the RRM domain while leveraging network performance optimization opportunities introduced by the O-RAN ecosystem. Various example embodiments of the programmable RAN slicing framework may be configured to provide a highly modular programmable framework for RAN slicing that can be integrated in RRM / O-RAN based systems as well as vendor proprietary systems. Various example embodiments of the programmable RAN slicing framework may be configured to support a comprehensive RAN slicing framework capable of enabling flexible and customizable RAN slicing capabilities that enable customized functionality and network operations to support various individual use cases, such as enhanced mobile broadband (eMBB), ultra-reliable low-latency communications (URLLC), massive Internet of Things (MIoT), industrial communications (e.g., factories, mining, etc.), vehicular communications (e.g., vehicle-to-everything (V2X) communications or other suitable vehicular communications), reality-related applications (e.g., virtual reality (VR), augmented reality (AR), mixed reality (MR), extended reality (XR), etc.), and the like, and various combinations thereof. It should be understood that these and various other example embodiments of the programmable network slicing framework may be further understood in the context of the various figures presented herein, which will be discussed further below.
[0026] Figure 1 Depicted are example embodiments of a communication system including a radio access network configured to support various example embodiments of a programmable network slicing framework.
[0027] like Figure 1As shown, the communication system 100 can support various types of communication services for various types of communication devices (omitted for clarity), which can access and communicate via the communication system 100 (e.g., user equipment (UE), IoT devices, etc.). The communication system 100 includes a radio access network 110, a transport network 120, and a core network 130. The radio access network 110 supports cellular access by communication devices and may include elements such as a base station (BS) and a controller (omitted for clarity). The transport network 120 supports communication transmission between the radio access network 110 and the core network 130 and may include elements such as routers, switches, and controllers (omitted for clarity). The core network 130 supports core network functions of the radio access network 110, such as authentication, authorization, mobility management, data management, policy management, etc., and may include elements such as a management entity, a controller, and routing elements (omitted for clarity). The core network 130 may support interfaces to various other communication networks (e.g., the Internet, public networks, private networks, enterprise networks, data centers, etc., and various combinations thereof) with which communication devices associated with the radio access network 110 may communicate. It should be understood that the communication system 100 may include various other networks, various other elements, etc., and various combinations thereof.
[0028] like Figure 1 As shown, the communication system 100 supports network slicing in each of the radio access network 110, the transport network 120, and the core network 130, wherein four examples of network slicing are shown. Figure 4 As shown, each of the four slices is supported within the radio access network 110, the transport network 120, and the core network 130. Figure 1In the example of FIG, the four slices include a V2X slice supported over the Internet (denoted as Slice 1), an IoT slice supported over a private virtual private network (VPN) (denoted as Slice 2), an enterprise slice supported over a public VPN (denoted as Slice 3), and a fixed wireless access (FWA) slice supported over the Internet (denoted as Slice 4). It should be understood that these network slices can be coordinated between the radio access network 110, the transport network 120, and the core network 130, or can be independently provided within the radio access network 110, the transport network 120, and the core network 130 and then stitched together between the radio access network 110, the transport network 120, and the core network 130 to provide end-to-end slicing. It should be understood that although primarily presented with respect to supporting a specific number and type of network slices, various other numbers of network slices, various other types of network slices, etc., as well as various combinations thereof, can also be supported. It should be understood that although presented primarily with respect to supporting network slicing in each of the radio access network 110, the transport network 120, and the core network 130, network slicing may be implemented in various subsets of such networks (although it should be understood that the various example embodiments herein are primarily directed to supporting network slicing within the radio access network 110).
[0029] like Figure 1 As shown, network slicing is supported within the radio access network 110. Network slicing within the radio access network 110 enables dynamic allocation of radio resources to different network slices. It should be understood that although the radio resources allocated to network slices may be different in different types of cellular networks (e.g., 5G versus 6G), radio resources generally represent frequency resources (e.g., in the form of physical resource blocks, virtual resource blocks, etc.) that can be dynamically allocated for use by communication devices associated with the radio access network 110. Figure 1 In the example of , network slicing within the radio access network 110 results in frequency domain resources (e.g., in the form of resource blocks) of the radio access network 110 being dynamically allocated to four slices. Figure 1 In the example of FIG, slice 1 (supporting V2X services) is allocated 12 resource blocks out of 30 available resource blocks, slice 2 (supporting IoT services) is allocated 8 resource blocks out of 30 available resource blocks, slice 3 (supporting enterprise services) is allocated 6 resource blocks out of 30 available resource blocks, and slice 4 (supporting FWA services) is allocated the remaining 4 resource blocks out of 30 available resource blocks. It should be understood that although the present invention is primarily presented with respect to supporting a specific number and type of network slices, various other numbers of network slices, various other types of network slices, and the like, as well as various combinations thereof, may also be supported.
[0030] like Figure 1As shown, network slicing within the radio access network 110 is supported in the context of an O-RAN architecture, resulting in specific paths for the four network slices supported in the radio access network 110. For example, each of the four slices traverses an O-RAN radio unit (O-RU) (a logical node that hosts the lower PHY layer and RF processing based on a low-layer functional split) and an O-RAN distributed unit (O-DU) (a logical node that hosts the RLC / MAC / high PHY layer based on a low-layer functional split). As further shown, after the O-DU, flows for slices 1 and 4 follow a first network path, while flows for slices 2 and 3 follow a second network path, with the first and second network paths traversing different O-RAN Central Unit User Plane (O-CU-UP) nodes (which are logical nodes that host the user plane portions of the Packet Data Convergence Protocol (PDCP) and Service Data Adaptation Protocol (SDAP)). More specifically, data flows for slices 1 and 4 each traverse a first O-CU-UP and slice 2, and data flows for slices 2 and 3 each traverse a second O-CU-UP. As shown, each slice may be supported by a corresponding O-RAN Central Unit Control Plane (O-CU-CP) element, which is a node configured to host the RRC and control plane portions of the PDCP protocol.
[0031] like Figure 1As shown, RAN slicing within the radio access network 110 may be based on the FlexiSLICE RAN slicing framework 111. The FlexiSLICE RAN slicing framework 111 may be configured to provide a programmable RAN slicing framework for the radio access network 110. The FlexiSLICE RAN slicing framework 111 may be configured to support dynamic RAN slice characterization to enable use case-specific RAN slice customization, thereby supporting various use cases via the radio access network 110. The FlexiSLICE RAN slicing framework 111 may be configured to support dynamic RAN slice characterization to support slice-centric frequency domain scheduling within the radio access network 110. The FlexiSLICE RAN slicing framework 111 may be configured to support RAN slicing within the radio access network 110 based on the FlexiSLICE context and API, the FlexiSLICE Frequency Domain (FD) Scheduling Framework (FFSF), the FlexiSLICE Manager (FSM) RAN function, the FlexiSLICE O-RAN Service Model (E2SM-FSM), the FlexiSLICE Manager (FSM) Broker xApp, and the FlexiSLICE operating procedures. For example, as discussed further below, the FlexiSLICE RAN slicing framework 111 may be configured to support robust RAN slicing programmability and reporting via FlexiSLICE contexts and APIs, deliver differentiated scheduling paradigms tailored to specific services served via the FFSF, control RAN slicing based on FSM RAN functions (and E2SM-FSM), control RAN slicing based on FSM broker xApps (e.g., for RIC-RAN interactions), etc. It should be understood that the FlexiSLICE RAN slicing framework 111 may include various other capabilities configured to provide a programmable RAN slicing framework for the radio access network 110.
[0032] like Figure 1As shown, the RAN slices within the radio access network 110 can be based on the FlexiSLICE RAN slicing framework 111, which, as described above, includes various RAN slicing support capabilities, which will be discussed further below. The FlexiSLICE context and API provide a RAN slice representation supported by an event-driven RAN slice state machine, supporting various slice configuration control capabilities and related statistics reporting capabilities. The FFSF provides an improved FD scheduling mechanism for a slice-aware environment, supporting the allocation of frequency domain radio resources to UEs in a slice-aware manner for transmission time intervals (TTIs), for example, on a per-TTI basis. The FSM RAN function is configured to control various RAN slice-related operations occurring within the BS, including supporting communication between the BS and a controller to support RAN slice-related operations occurring within the BS (e.g., supporting various RAN-RIC interactions related to RAN slicing, including programmable configuration of RAN slices by the controller and reporting of slice statistics to the controller). The FSM mediator xApp is configured to control various RAN slice-related operations performed by the controller to support various RAN slice-related operations occurring within the BS, including supporting communication between the BS and the controller to support RAN slice-related operations occurring within the BS (e.g., supporting various RIC-RAN interactions related to programmatic control of slice configuration within the RAN and obtaining slice statistics from the RAN). The FSM service model (E2SM-FSM) defines the relevant messages exchanged between the BS and the controller (e.g., the FSM mediator xApp in the near-RT RIC). The FlexiSLICE operation process supports various FlexiSLICE operations, including slice parameter control (e.g., configuration, optimization, etc.), telemetry registration, statistics reporting (e.g., statistics collection, processing, and transmission), etc. It should be understood that by reference to Figure 2 These and other example embodiments may be further appreciated.
[0033] Figure 2 Depicted are example embodiments of a communication system including a FlexiSLICE programmable RAN slicing framework, a portion of which is configured to support RAN slicing in a RAN context.
[0034] The communication system 200 includes a set of user equipments (UEs) 201-1 to 201-N (collectively referred to as UEs 201) that can be allocated radio resources of a radio access network based on RAN slices supported by a FlexiSLICE programmable RAN slicing framework 202 for the UEs 201. The FlexiSLICE programmable RAN slicing framework 202 includes a base station (BS) 203 configured to provide radio access to the UEs 201 and a controller 205 configured to provide control functions to the BS 203.
[0035] BS 203 is implemented based on O-RAN capabilities (e.g., supports O-RAN-based control capabilities). BS 203 includes a FlexiSLICE context 210, a communication protocol stack 220, a FlexiSLICE manager (FSM) RAN function 230, and an O-RAN E2 agent 240. FlexiSLICE context 210 maintains a RAN slice set 211 for supporting RAN slicing. The communication protocol stack 220 includes a physical (PHY) communication layer 221, a medium access control (MAC) communication element 222 including a FlexiSLICE FD Scheduling Framework (FFSF) 223, a radio link control (RLC) communication element 224, a PDCP communication element 225, a radio resource control (RRC) communication element 226, and an SDAP communication element 227. The O-RAN E2 agent 240 includes a FlexiSLICE O-RAN service model (E2SM-FSM) 241 and other E2SMs 242. It should be understood that BS 203 may include various other elements configured to support RAN slicing in the context of the FlexiSLICE programmable RAN slicing framework 202.
[0036] BS 203 supports various types of messaging that are configured to support various aspects of FlexiSLICE-based RAN slicing operations. BS 203 supports a set of internal BS messaging interfaces 215 that are configured to support internal BS messaging to support various aspects of FlexiSLICE-based RAN slicing operations. Internal BS messaging includes an internal BS messaging interface 215-I, which includes an internal BS messaging interface 215-I1 from the FlexiSLICE context 210 to the MAC communication element 222 (e.g., for controlling the allocation of radio network resources to the UE 201 based on RAN slicing) and an internal BS messaging interface 215-I2 from the MAC communication element 222 to the FlexiSLICE context 210 (e.g., for reporting information related to the allocation of radio network resources to the UE 201 based on RAN slicing). BS 203 supports a set of FlexiSLICE APIs 216 that are configured to support various aspects of FlexiSLICE-based RAN slicing operations. The FlexiSLICE API set 216 includes a FlexiSLICE API 216-A1 from the FSM RAN function 230 to the FlexiSLICE context 210 (e.g., for controlling slice configuration of the RAN slice 211 maintained by the FlexiSLICE context 210) and a FlexiSLICE API 216-A2 from the FlexiSLICE context 210 to the FSM RAN function 230 (e.g., for reporting slice statistics of the RAN slice 211 maintained by the FlexiSLICE context 210).
[0037] The controller 205 is implemented based on O-RAN capabilities (e.g., the controller 205 can be implemented as an O-RAN Near RTRIC). The controller 205 includes a Near RT RIC internal messaging infrastructure 250 with an E2 terminal, Near RT RIC internal components 260, a FlexiSLICE Manager (FSM) mediator xApp 270, and other xApps 280.
[0038] The FSM mediator xApp includes the FlexiSLICE programmable RAN slicing framework 100 and also includes an O-RAN E2 interface 204 between the BS 203 (illustratively, the O-RAN E2 agent 240 of the BS 203) and the controller 205 (illustratively, the near-RT RIC internal messaging infrastructure 250 with E2 termination of the controller 205). It should be understood that the controller 205 may include various other elements that are configured to support RAN slicing in the context of the FlexiSLICE programmable RAN slicing framework 202.
[0039] like Figure 2 As shown, the FlexiSLICE context 210 is configured to support various aspects of the FlexiSLICE programmable RAN slicing framework 202.
[0040] The FlexiSLICE context 210 serves as a data repository for RAN slicing-related operations based on RAN slices 211 within the BS 203. The FlexiSLICE context 210 stores configuration and statistics related to RAN slicing operations of the RAN slices 211. The FlexiSLICE context 210 supports intra-BS messaging to support RAN slicing based on an intra-BS messaging interface 215 (e.g., for controlling the allocation of radio network resources to the UE 201 based on a RAN slice, and for reporting information related to the allocation of radio network resources to the UE 201 based on a RAN slice). The FlexiSLICE context 210 can be accessed by an external entity (e.g., the controller 205) through the FlexiSLICE API set 216, which is configured to support various aspects of FlexiSLICE-based RAN slicing operations (e.g., for controlling the slice configuration of the RAN slices 211 maintained by the FlexiSLICE context 210, and for reporting slice statistics of the RAN slices 211 maintained by the FlexiSLICE context 210). The FlexiSLICE context 210 also introduces a new RAN slice state machine for slice-related operations.
[0041] The FlexiSLICE context 210 supports slice definition of a RAN slice 211, which is used to support the RAN slice of the UE 210. As described below, the RAN slice 211 can be defined as a RAN Network Slice Subnet Instance (NSSI). The slice definition of the RAN slice 211 can be based on the following parameters:
[0042] Radio Access Technology (RAT): The RAN slice 211 within a FlexiSLICE can have one or more RATs associated with it. For example, the FlexiSLICE framework can be applied across LTE, NR NSA, NR SA, etc.
[0043] Operational state: The RAN slice 211 within the FlexiSLICE can be characterized by its operational state. At any given point in time, the RAN slice 211 can exist in one of five states (i.e., idle, dedicated, priority, shared, and hybrid), as described below.
[0044] o Idle state: A RAN slice 211 in idle state does not have any PDU sessions (or more specifically, Data Radio Bearers (DRBs)) associated with it.
[0045] Idle slices do not consume any RAN-level radio resources.
[0046] Dedicated state: A RAN slice 211 in the dedicated state is characterized by being allocated a dedicated set of radio resources. The dedicated resources are reserved exclusively for the RAN slice 211 and cannot be used by other RAN slices 211.
[0047] Priority state: A RAN slice 211 in the priority state has priority access to the resources allocated to it, i.e., if the RAN slice 211 needs these resources, no other RAN slice 211 can preempt the RAN slice 211 and acquire these resources. However, the unused resources of the RAN slice 211 eventually enter the shared resource pool, from where they can be used by other RAN slices 211.
[0048] ○ Shared state: RAN slices 211 in the shared state have no explicit resource allocation. Instead, all RAN slices 211 in the shared state have access to a shared resource pool. Resource allocation from the shared resource pool to RAN slices 211 in the shared state is done based on the priority level of each RAN slice 211 in the shared state.
[0049] ○ Hybrid state: A RAN slice 211 in the hybrid state combines all three features mentioned above, i.e., a hybrid slice can be regarded as a logical construct that includes all three states (dedicated, priority and shared) in the form of sub-slices.
[0050] Radio resource configuration: The RAN slice 211 within the FlexiSLICE can also be characterized according to its radio resource configuration. More specifically, the radio resource configuration parameters depend on the operational state of the RAN slice 211.
[0051] ○ Dedicated slice: For a RAN slice 211 in dedicated state, the radio resource configuration parameters define the number of resource blocks dedicated to the RAN slice 211 .
[0052] Priority Slice: For a RAN slice 211 in the priority state, the radio resource configuration parameter defines the number of resource blocks to which the RAN slice 211 has priority access. The priority resource allocation can be regarded as an upper limit on the radio resource availability of the RAN slice 211.
[0053] ○ Shared slice: For a RAN slice 211 in a shared state, since there is no explicit radio resource allocation, the radio resource configuration parameter represents a priority value that defines the priority of a given RAN slice 211 in accessing the shared resource pool.
[0054] ○ Hybrid Slice: For a RAN slice 211 in a hybrid state, the RAN slice 211 is characterized by the presence of dedicated radio resource configuration, priority radio resource configuration, and shared priority parameters.
[0055] FD Scheduling Algorithm: The RAN slice 211 within FlexiSLICE can also be characterized by an FD scheduling algorithm, which will be used for slice-specific frequency domain resource scheduling of the RAN slice 211 (e.g., proportional fairness scheduling algorithm, round-robin scheduling algorithm, or maximum throughput scheduling algorithm, etc.). FlexiSLICE is designed to allow customization of slice-specific scheduling algorithms, and therefore, the FD scheduling algorithm becomes a slice characterization parameter of the RAN slice 211.
[0056] RAN-level user plane association: The RAN slice 211 within the FlexiSLICE can also be characterized by a RAN-level user plane entity (e.g., CU UP) associated with the RAN slice 211. This approach can ensure that the best candidate user plane entity is selected for delay-critical DRBs, thereby ensuring latency optimization.
[0057] The FlexiSLICE context 210 supports dynamic configuration of the slice definition of the RAN slice 211. The FlexiSLICE context 210 supports the dynamic configuration of the slice definition of the RAN slice 211 by controlling the settings of the above-mentioned parameters (i.e., RAT, operating state, radio resource configuration, FD scheduling algorithm, RAN-level user plane association, etc.). The FlexiSLICE context 210 can support the dynamic configuration of the slice definition of the RAN slice 211 in a manner that ensures that the RAN slice 111 can be customized to meet the target requirements of the specific use case that the RAN slice 111 is intended to serve.
[0058] The FlexiSLICE context 210 is configured to support seamless transitions between various slice states for each RAN slice 211. It should be noted that the slice states of the RAN slice 211 can ensure that FlexiSLICE achieves full NRM compliance. The FlexiSLICE context 210 can be configured to support seamless transitions between various slice states for each RAN slice 211 based on the RAN slice state machine. Figure 3 An example embodiment of a RAN slice state machine is presented.
[0059] Figure 3 Depicted are example embodiments of a RAN slice state machine configured to support transitions between slice states of a RAN slice for a RAN slice.
[0060] The RAN slice state machine 300 includes five states of RAN slices, which enable support for dynamic RAN slicing. The five states of RAN slices include: idle state 301, dedicated state 302, priority state 303, shared state 304 and hybrid state 305.
[0061] The RAN slice state machine 300 supports various state transitions between states defined under various conditions, thereby enabling support for dynamic RAN slicing. When a RAN slice is initialized within the RAN, the RAN slice is in the Idle state 301, with no active DRBs associated with it. The RAN slice is configured with a default state, to which it may transition when a DRB for any PDU session associated with the RAN slice is added. After a RAN slice transitions to one of the Dedicated state 302, Prioritized state 303, Shared state 304, or Hybrid state 305, the RAN slice remains in that state unless an explicit state change request is issued via the FlexiSLICE API, or if the number of DRBs associated with the RAN slice reaches zero. In the case where the RAN slices meet the latter condition: (1) there is no state change for the RAN slices in the Dedicated state 302, (2) the RAN slices in the Prioritized state 303 and the Shared state 304 switch to the Idle state 301, with the default active state set to the Shared state 304, and (3) the RAN slices in the Hybrid state 305 switch to the Dedicated state while retaining only their dedicated resource allocation, with the remaining resources associated with the RAN slice now entering the shared pool.
[0062] Based on the supported states and associated state transitions described above, the RAN slice state machine 300 can ensure efficient management of radio resources to reflect the operating conditions experienced by the RAN. For example, under normal operating conditions, a public safety RAN slice can operate in a priority state under normal conditions. Then, in an emergency, such a public safety RAN slice can be switched to a dedicated state to ensure that even if public safety devices join and leave the network, such public safety devices always have a guaranteed set of available resources.
[0063] like Figure 2 As shown, the FFSF 223 is configured to support various aspects of the FlexiSLICE programmable RAN slicing framework 202. The FFSF 223 is configured to allocate frequency domain radio resources to the UE 201 in a slice-aware manner on a per-TTI basis. The FFSF 223 is configured to perform FFSF operations after the time domain scheduling process is completed and the list of UEs to be scheduled for that TTI is available. The FFSF 223 may include a three-stage frequency domain scheduling process that is configured to allocate virtual resource blocks (VRBs) to a set of UEs, after which various other scheduler specific operations may be performed. It should be noted that various aspects of the three-stage frequency domain scheduling process are discussed further below and can be referenced in detail in detail in the accompanying drawings. Figure 4 To further understand.
[0064] The FFSF 223 is configured to support a slice specific FD scheduling phase as the first phase (also referred to as phase 1) of a three-phase frequency domain scheduling process. The first phase is used to allocate radio resources to dedicated, priority and hybrid slice types. This phase takes as input a list of UEs to be scheduled in the current timeslot and a list of dedicated, priority and hybrid RAN slices characterized by slice specific context information. The FFSF phase 1 process then determines the number of RBs to be allocated to each DRB associated with a given RAN slice (i.e., each DRB for each UE associated with a given RAN slice) based on a slice specific scheduling algorithm. Typically, the sum of RBs allocated across DRBs within a given RAN slice cannot exceed the sum of dedicated and priority resources associated with the RAN slice. After determining the amount of resources, any remaining priority resources are moved to the shared pool and the process is repeated until all RAN slices in the dedicated, priority and hybrid RAN slice lists are exhausted, after which the hybrid RAN slices are moved to the shared RAN slice list (so that the shared RAN slice list includes shared RAN slices as well as hybrid RAN slices for which dedicated and priority resource allocations have been scheduled), and the three-phase frequency domain scheduling process proceeds to the second phase. It should be understood that by reference to Figure 5 Various aspects of the slice-specific FD scheduling phase can be further understood.
[0065] The FFSF 223 is configured to support a system-level shared FD scheduling phase as the second phase (also referred to as phase 2) of the three-phase frequency domain scheduling process. This phase takes as input the information output from the first phase. That is, this phase takes as input: (1) a shared RAN slice list, which includes shared RAN slices and hybrid RAN slices for which dedicated and priority resource allocations have been scheduled, and (2) the output of the first phase in terms of resource allocation of DRBs to the UE, including a list of DRBs to which RBs have been allocated in the first phase (including an indication of the number of RBs allocated to each RB) and a list of pending DRBs for which no RB allocations have been received in the first phase). This phase performs system-level shared FD scheduling based on sorting the RAN slices in the shared RAN slice list according to the sharing priority parameters of the RAN slices. This phase utilizes a common system-level scheduler to determine the amount of radio resources to be allocated to the DRBs of each RAN slice in the shared RAN slice list, up to a maximum value bounded by the resource availability within the shared resource pool. This phase ends when all RAN slices in the shared RAN slice list have been allocated or the shared pool resources are exhausted. The output of this phase is a list of all DRBs for each UE, with the corresponding RB allocations for each DRB. This essentially provides an indication of the amount of radio resources per DRB to be allocated to each UE in the current time interval so that specific radio resources can be allocated to the UE in the third phase. Figure 6 This can further understand various aspects of the system-level shared FD scheduling phase.
[0066] The FFSF 223 is configured to support the UE-specific FD scheduling phase as the third phase of the three-phase frequency domain scheduling process (also referred to as phase 3). While the first and second phases are used to determine the absolute number of RBs to be allocated to DRBs across RAN slices, the third phase is the UE-specific FD scheduling phase, which is configured to allocate specific VRBs to UEs based on resource allocation decisions from the first and second phases. This phase results in the allocation of specific VRBs to each UE, so that the UE receives the number of radio resources allocated to the UE based on the execution of the first and second phases.
[0067] Note that by reference Figure 4-Figure 6 The three stages of FFSF 223 can be further understood.
[0068] Figure 4 An example embodiment of a process for allocating frequency domain resources of a RAN to a set of user equipment based on FFSF is described.
[0069] Process 400 is a process for allocating frequency domain resources to a set of UEs in a given time slot, and the process may be repeated in each time slot to allocate frequency domain resources to a set of UEs in each time slot to ensure that the UEs continue to receive allocations of frequency domain resources over time. Figure 4 As shown, process 400 consists of FFSF 401 (e.g., Figure 2 FFSF 223) supports, which includes three phases that are configured to perform allocation of frequency domain resources to a set of UEs: (1) slice-specific FD scheduling phase 420, (2) system-level shared FD scheduling phase 430, and (3) UE-specific FD scheduling phase 440.
[0070] The process 400 begins with a scheduling iteration start and initialization (indicated by element 405 , which indicates the start of the process 400 at the current time slot). The process 400 then continues with a time domain scheduling process 410 .
[0071] The time domain scheduling process 410 supports selecting a set of UEs to be served in a given time slot. In the set of UEs to be served in a given time slot, each UE is associated with one or more data radio bearers (DRBs), which are supported by allocating frequency domain resources to support these DRBs, respectively. In the set of UEs to be served in a given time slot, each UE can be associated with one of the RAN slices of the one or more DRBs to be used to support the UE (e.g., based on the requirements of the UE). The time domain scheduling process 410 outputs a list of UEs to be scheduled in the current time slot (indicated by box 419). The process 400 then continues from the time domain scheduling process 410 to perform a slice-specific FD scheduling phase 420 (referred to herein as the first phase or phase 1).
[0072] The slice-specific FD scheduling phase 420 (denoted herein as the first phase or phase 1) supports slice-specific allocation of frequency domain resources (amount of resources) to at least a portion of DRBs for at least a portion of UEs in a set of UEs to be served in a given time slot. The slice-specific FD scheduling phase 420 supports slice-specific allocation of frequency domain resources (amount of resources) to at least a portion of DRBs for at least a portion of UEs in a set of UEs to be served in a given time slot based on processing of a first RAN slice subset having a specific operating state associated therewith.
[0073] The slice-specific FD scheduling stage 420 takes as input the list of UEs to be scheduled in the current time slot output by the time domain scheduling process 410 (indicated by box 419) and the dedicated, priority and hybrid RAN slice lists characterized by slice-specific context information (indicated by box 421 and denoted as DPHList). As described above, the slice-specific context information for each RAN slice may include a set of RAN slice parameters for the RAN slice (e.g., one or more of the following: an indication of the RAT of the RAN slice, an indication of the radio resource configuration of the RAN slice (e.g., the amount of radio resources allocated to the RAN slice), a slice-specific scheduling algorithm for the RAN slice (e.g., a proportional fair scheduling algorithm, a polling scheduling algorithm, a maximum throughput scheduling algorithm, etc.), an indication of a set of radio access network-level user plane associations for the corresponding network slice, etc., and various combinations thereof). The DPHList can be sorted in any suitable manner so that the RAN slices can be processed in any suitable order.
[0074] For each RAN slice in the DPHList, the slice-specific FD scheduling phase 420 determines the number of RBs to be allocated to each DRB associated with the RAN slice, where the number of RBs is determined based on slice-specific context information associated with the RAN slice (e.g., using the slice-specific scheduling algorithm of the RAN slice to allocate a portion of the radio resources allocated to the RAN slice to the DRBs of the UEs associated with the RAN slice). Typically, the sum of the RBs allocated across the DRBs within a given RAN slice cannot exceed the sum of the dedicated and priority resources associated with the RAN slice. After the amount of resources is determined, any remaining priority resources are moved to the shared pool, and the process is repeated until all RAN slices in the DPHList are exhausted, after which the hybrid RAN slice is moved to the shared RAN slice list (denoted as SList) for use in the system-level shared FD scheduling phase 430.
[0075] The slice-specific FD scheduling phase 420 outputs a list of DRBs allocated for each UE with corresponding RB allocations, and a list of pending DRBs for each UE that have not yet been allocated RB allocations (indicated by block 429). The process 400 then proceeds from the time-domain scheduling process 420 to the system-level shared FD scheduling phase 430 (referred to herein as the second phase or phase 2).
[0076] The system-level shared FD scheduling phase 430 (denoted herein as the second phase or phase 2) supports system-level allocation of frequency domain resources (amount of resources) to at least a portion of the DRBs of at least a portion of the UEs in the set of UEs to be served in a given time slot. The system-level shared FD scheduling phase 430 supports slice-specific allocation of frequency domain resources (amount of resources) to at least a portion of the DRBs of at least a portion of the UEs in the set of UEs to be served in a given time slot based on processing of allocation of frequency domain resources for a second RAN slice subset having a specific operating state associated therewith.
[0077] The system-level shared FD scheduling stage 430 takes as input the output of the slice-specific FD scheduling stage 420 (i.e., the DRB list with corresponding RB allocations allocated for each UE and the pending DRB list for each UE that has not yet been allocated RB allocations, as shown in block 429) and a shared RAN slice list characterized by slice-specific context information (indicated by block 431 and denoted as SList). The SList includes shared RAN slices and hybrid RAN slices for which dedicated and priority resource allocations have been scheduled. As described above, the slice-specific context information for each RAN slice may include a set of RAN slice parameters for the RAN slice (e.g., one or more of: an indication of the RAT of the RAN slice, an indication of the radio resource configuration of the RAN slice (e.g., the amount of radio resources allocated to the RAN slice and a shared priority parameter indicating the priority of the RAN slice relative to other RAN slices), etc., and various combinations thereof). The SList can be sorted according to the shared priority parameter so that resources of the shared resource pool are allocated to UEs based on the priority of the RAN slices in the SList.
[0078] The system-level shared FD scheduling phase 430 uses a common system-level scheduler to determine the amount of radio resources to allocate to the DRBs of each RAN slice in the SList, where the RAN slices are considered in the SList order based on the shared priority parameters of the RAN slices. The system-level shared FD scheduling phase 430 uses a common system-level scheduler to determine the amount of radio resources to allocate to the DRBs of each RAN slice in the SList, up to a maximum value bounded by the resource availability within the shared resource pool. The system-level shared FD scheduling phase 430 ends when radio resources have been allocated to each DRB of each RAN slice in the SList, or when the shared pool runs out of allocable radio resources.
[0079] System-level shared FD scheduling phase 430 outputs a list of DRBs allocated for each UE and corresponding RB allocations (indicated by block 439). Process 400 then proceeds from system-level shared FD scheduling phase 430 to UE-specific FD scheduling phase 440 (referred to herein as the third phase or phase 3).
[0080] The UE-specific FD scheduling phase 440 supports allocating specific frequency domain resources to the UE based on the frequency domain resources allocated to the UE's DRB in the slice-specific FD scheduling phase 420 and the system-level shared FD scheduling phase 430. Here, specific frequency domain resources (e.g., specific VRBs) are allocated to the UE based on the amount of resources allocated to the UE in the slice-specific FD scheduling phase 420 and the system-level shared FD scheduling phase 430. The process 400 then continues from the UE-specific FD scheduling phase 440 to perform other scheduling-related operations 450.
[0081] Other scheduling-related operations 450 may include various operations that may be used to accomplish allocation of specific frequency domain resources to a UE so that the UE may communicate via the RAN using the specific frequency domain resources.
[0082] It should be understood that process 400 may include various other functions that may support allocating frequency domain resources of the RAN to a set of UEs based on the FFSF.
[0083] Figure 5 An example embodiment of a portion of a FlexiSLICE frequency domain scheduling framework configured to support allocation of frequency domain resources of a RAN to a set of user equipments based on a slice-specific frequency domain scheduling phase is depicted.
[0084] Process 500 is a process for performing slice-specific frequency domain scheduling in the context of an FFSF configured to support allocation of RAN FD resources to a set of UEs (e.g., process 500 may be used to provide Figure 4 Slice-specific FD scheduling phase 420 of process 400).
[0085] Process 500 takes as input a list of UEs to be scheduled in the current timeslot (indicated by box 501) and a list of dedicated, prioritized, and hybrid RAN slices characterized by slice-specific context information (indicated by box 502 and denoted as DPHList). As described above, the slice-specific context information for each RAN slice may include a set of RAN slice parameters for the RAN slice (e.g., one or more of the following: an indication of the RAT of the RAN slice, an indication of the radio resource configuration of the RAN slice (e.g., the amount of radio resources allocated to the RAN slice), a slice-specific scheduling algorithm for the RAN slice (e.g., a proportional fair scheduling algorithm, a polling scheduling algorithm, a maximum throughput scheduling algorithm, etc.), an indication of a set of radio access network-level user plane associations for the corresponding RAN slice, etc., and various combinations thereof). The DPHList may be sorted in any suitable manner so that the RAN slices can be processed in any suitable order.
[0086] Process 500 performs resource allocation for the RAN slices in the DPHList, proceeding through the RAN slices in the DPHList based on the slice index (e.g., starting with the first RAN slice and then proceeding through the RAN slice list by incrementing the slice index by 1 after each pass through the resource allocation step until the last RAN slice is processed).
[0087] At block 510, for the selected RAN slice, a slice-specific scheduling algorithm associated with the RAN slice is used to allocate a number of RBs to each DRB associated with the RAN slice. The slice-specific scheduling algorithm associated with the RAN slice is used to determine the number of RBs per DRB, which is up to a maximum value that is less than or equal to the sum of dedicated and priority resources associated with the RAN slice. From block 510, process 500 proceeds to block 520.
[0088] At block 520, a determination is made as to whether any priority resources remain for the RAN slice after allocating the RBs to the DRBs of the RAN slice. If any priority resources remain for the RAN slice after allocating the RBs to the DRBs of the RAN slice, the process 500 proceeds to block 530. If no priority resources remain for the RAN slice after allocating the RBs to the DRBs of the RAN slice, the process 500 proceeds to block 540.
[0089] At block 530 , unused priority resources of the RAN slice are moved to a shared resource pool shared by the RAN slices to further allocate FD resources to the UE. From block 530 , process 500 proceeds to block 540 .
[0090] At block 540, a determination is made as to whether the RAN slice currently being processed is the last RAN slice in the DPHList. If the RAN slice currently being processed is not the last RAN slice in the DPHList, the process increments the slice index by 1 to select the next RAN slice in the DPHList and returns to block 510 to allocate FD resources for the next RAN slice. If the RAN slice currently being processed is the last RAN slice in the DPHList, the process 500 proceeds to block 550.
[0091] At box 550, the hybrid RAN slice is moved to the shared RAN slice list (so that the shared RAN slice list then includes the shared RAN slice as well as the hybrid RAN slice for which dedicated and priority resource allocations have been scheduled) for use in the system level shared FD scheduling phase.
[0092] Process 500 provides as output (indicated by block 555) a list of allocated DRBs for each UE with corresponding RB allocations and a list of pending DRBs for each UE that has not yet been assigned an RB allocation.
[0093] It should be understood that process 500 can be configured to support various other functions to support allocating frequency domain resources of the RAN to a set of user equipment based on a slice-specific frequency domain scheduling phase.
[0094] Figure 6 Depicted are example embodiments of a portion of a FlexiSLICE frequency domain scheduling framework configured to support allocation of frequency domain resources of a RAN to a set of user equipments based on a system-level shared frequency domain scheduling phase.
[0095] Process 600 is a process for performing system-level frequency domain scheduling in the context of a FFSF configured to support allocation of RAN FD resources to a set of UEs (e.g., process 600 may be used to provide Figure 4 4. The system-level shared FD scheduling phase 430 of process 400 is shown in FIG.
[0096] Process 600 takes as input: (1) a list of DRBs allocated for each UE with corresponding RB allocations and a list of pending DRBs for each UE that have not yet been allocated RB allocations (represented by box 601), and (2) a shared RAN slice list characterized by slice-specific context information (represented by box 602 and denoted as SList). As described above, the slice-specific context information for each RAN slice may include a set of RAN slice parameters for the RAN slice (e.g., one or more of: an indication of the RAT of the RAN slice, an indication of the radio resource configuration of the RAN slice (e.g., an amount of radio resources allocated to the RAN slice and a shared priority parameter indicating the priority of the RAN slice relative to other RAN slices), etc., and various combinations thereof). The SList can be sorted according to the shared priority parameter so that resources of the shared resource pool are allocated to UEs based on the priorities of the RAN slices in the SList.
[0097] Process 600 performs resource allocation for the RAN slices in SList, proceeding through the RAN slices in SList based on the slice index (e.g., starting with the first RAN slice and then proceeding through the RAN slice list by incrementing the slice index by 1 after each pass through the resource allocation step until the last RAN slice is processed or the shared resource pool has no remaining resources).
[0098] At block 610, for the selected RAN slice, a system-level scheduling algorithm is used to allocate a number of RBs to each DRB associated with the RAN slice. The system-level scheduling algorithm associated with the RAN slice is used to determine the number of RBs per DRB, which is up to a maximum value that is less than or equal to the remaining resources (e.g., RBs) in the shared resource pool (i.e., the allocation of RBs to DRBs continues as long as there are available resources in the shared pool). Process 600 proceeds from block 610 to block 620.
[0099] At block 620 , the shared pool resource availability is updated based on the resource allocation of the selected RAN slice. From block 620 , the method 600 proceeds to block 630 .
[0100] At block 630, a determination is made as to whether any resources remain in the shared resource pool. If no resources remain in the shared resource pool, process 600 ends and outputs a list of DRBs allocated for each UE and the corresponding RB allocations. If resources remain in the shared resource pool, process 600 proceeds to block 640.
[0101] At block 640, a determination is made as to whether the selected RAN slice is the last slice in SList. If the currently processed RAN slice is not the last RAN slice in SList, the process increments the slice index by 1 to select the next RAN slice in SList and returns to block 610 to allocate FD resources for the next RAN slice. If the currently processed RAN slice is the last RAN slice in SList, process 600 ends and outputs the DRB list and corresponding RB allocations allocated for each UE.
[0102] Process 600 provides as output a list of DRBs allocated for each UE, with corresponding RB allocations (indicated by block 645). This provides an indication of the number of RBs allocated to each DRB for each UE, which can then be used to allocate specific FD resources to the UE for communication via the RAN (e.g., using Figure 4 The UE-specific FD scheduling phase 440 of the process 400 is used as the basis for the UE-specific FD scheduling phase 440).
[0103] It should be understood that the process 600 may be configured to support various other functions to support allocating frequency domain resources of the RAN to a set of user equipments based on the system-level frequency domain scheduling stage.
[0104] like Figure 2 As shown, the FSM RAN function 230 is configured to support various aspects of the FlexiSLICE programmable RAN slicing framework 202. The FSM RAN function 230 is configured to support O-RAN related operations related to RAN slicing. For example, such O-RAN related operations include converting RIC control requests from the FSM broker xApp 270 on the controller 205 into FlexiSLICE API configuration requests, processing RIC subscription requests (e.g., including but not limited to reporting, insertion and / or policy service actions), creating RIC indication messages by obtaining relevant statistics from the FlexiSLICE context 210 through FlexiSLICE API statistics requests, etc., and various combinations thereof.
[0105] The FSM RAN function 230 is configured to support the operation of a RAN slice state machine (e.g., the RAN slice state machine 300) and interaction with the FlexiSLICE context 210 based on a FlexiSLICE API set. The FlexiSLICE API set may include a FlexiSLICE control API (e.g., configured to support configuration of one or more parameters related to one or more slices and / or UEs within the FlexiSLICE context 210) and a FlexiSLICE telemetry API set (e.g., configured to support telemetry registration requests, reception of statistics based on telemetry requests, target requests for statistics, etc.).
[0106] The FlexiSLICE telemetry API set may include a FlexiSLICE telemetry registration request API. The FlexiSLICE telemetry registration request API may be used by the FSM RAN function 230 to register a statistics request with the FlexiSLICE context 210 from the FSM broker xApp 270. As part of the request, the FSM RAN function 230 may provide a target resource (e.g., a slice and / or UE) and a corresponding telemetry trigger (e.g., periodic or event-specific).
[0107] The FlexiSLICE telemetry API set may include a FlexiSLICE statistics request API. Upon detecting an event trigger, the FlexiSLICE statistics request API is used by the FSM RAN function 203 to obtain specific statistics-related parameters associated with a specific slice and / or UE.
[0108] The FlexiSLICE telemetry API set may include a FlexiSLICE context change request API. Upon detecting an event trigger, the FlexiSLICE context change request API is used by the FSM RAN function 230 to obtain specific information about the 3GPP or non-3GPP procedure responsible for the context change.
[0109] In addition to the FlexiSLICE telemetry API, the FlexiSLICE API set also includes a FlexiSLICE control API. The FlexiSLICE control API may include a FlexiSLICE control request API. The FlexiSLICE control request API may be used by the FSM RAN function 230 to adjust parameters related to one or more slices and / or UEs within the FlexiSLICE context 210. These parameters are based on the RAN slice representation defined herein.
[0110] It should be understood that the FlexiSLICE API, while primarily described as being used by the FSM RAN function 230 to execute instructions from the FSM mediator xApp 270 (on a near-RT RIC) and obtain its telemetry data, can also be used by other entities (e.g., non-RT RICs, vendor-specific control and management entities, etc., and various combinations thereof) for various purposes. Therefore, the definition and implementation of the FlexiSLICE API are decoupled from the O-RAN specifications to achieve maximum portability and reusability (although it is understood that in some cases, integration of various aspects with the O-RAN specifications may be supported).
[0111] It should be understood that the FSM RAN function 230 can be configured to perform various other functions to support various aspects of the FlexiSLICE programmable RAN slicing framework 202.
[0112] like Figure 2 As shown, the O-RAN E2 agent 240 provided on the BS 203 is configured to support communication between the BS 203 and the controller 205 in the context of the O-RAN via the E2 interface 204 between the BS 203 and the controller 205. It should be understood that the O-RAN E2 agent 240 can be configured to perform various other functions to support various aspects of the FlexiSLICE programmable RAN slicing framework 202.
[0113] like Figure 2 As shown, the near-RT RIC internal messaging infrastructure 250 with E2 terminations provided on the controller 205 is configured to support communication between the controller 205 and the BS 203 in the context of O-RAN via the E2 interface 204 between the controller 205 and the BS 203. It should be understood that the near-RT RIC internal messaging infrastructure 250 with E2 terminations can be configured to perform various other functions to support various aspects of the FlexiSLICE programmable RAN slicing framework 202.
[0114] like Figure 2 As shown, the near-RT RIC internal component 260 is configured to support various functions of the FlexiSLICE programmable RAN slicing framework 202. The near-RT RIC internal component 260 is configured to support programmatic control of configuration of RAN slices within the RAN in a dynamic manner, obtain near-real-time slice statistics from the RAN based on a telemetry registration request to the RAN, and receive corresponding RAN statistics reports from the RAN, etc., as well as various combinations thereof. It should be understood that the near-RT RIC internal component 260 can be configured to perform various other functions to support various aspects of the FlexiSLICE programmable RAN slicing framework 202.
[0115] like Figure 2 As shown, the FSM broker xApp 270 is configured to support various aspects of the FlexiSLICE programmable RAN slicing framework 202. The FSM broker xApp 270 is configured to dynamically programmatically control the configuration of RAN slices within the RAN, obtain near-real-time slice statistics from the RAN based on telemetry registration requests to the RAN, and receive corresponding RAN statistics reports from the RAN, among other functions, and various combinations thereof. The FSM broker xApp 270 provides a set of REST APIs for issuing RAN slice configuration and statistics requests, which are then sent to the BS 203 via the E2 interface to dynamically programmatically control the configuration of RAN slices within the BS 203 and receive responses related to the RAN slice configuration requests and RAN slice statistics requests, among other functions, and various combinations thereof, from the BS 203. It should be understood that the FSM broker xApp 270 can be configured to perform various other functions to support various aspects of the FlexiSLICE programmable RAN slicing framework 202.
[0116] like Figure 2 As shown, the FlexiSLICE O-RAN service model (E2SM-FSM) is configured to support various aspects of the FlexiSLICE programmable RAN slicing framework 202, which is supported by the E2SM-FSM 241 on the O-RAN E2 agent 240 of the BS 203 and the FlexiSLICE O-RAN service model (E2SM-FSM) 271 on the FSM mediator xApp 270 of the controller 205. The FlexiSLICE O-RAN service model (E2SM-FSM) defines relevant messages exchanged between the BS 203 and the controller 205. These messages specify various configuration parameters supported by the FlexiSLICE RAN slicing framework, for supporting the controller 205 to dynamically configure RAN slices on the BS 203, for supporting reporting of RAN slice-related statistics from the BS 203 to the controller 205, and various combinations thereof.
[0117] The FlexiSLICE O-RAN Service Model (E2SM-FSM) is configured to support various interactions between the FlexiSLICE context 210 within the BS 203 and the FSM mediator xApp 270 on the controller 205, thereby enabling support for programmable use case-driven slice control and assurance.
[0118] The FlexiSLICE O-RAN service model provides support for O-RAN reporting services and O-RAN control services. These services can be initiated based on periodic events, RAN slice context change events, or on-demand events. The three event trigger definition systems are described in Table 1 below.
[0119]
[0120] Table 1
[0121] The FlexiSLICE O-RAN service model provides optional support for the following reporting services: (1) FlexiSLICE Slice Context Report, which includes configuration information and statistics of one or more RAN slices at the E2 node. (2) FlexiSLICE UE Context Report, which includes RAN slice-related configuration information and statistics of one or more UEs at the E2 node. (3) FlexiSLICE Context Change Report, which is used to synchronize RAN slice-related context between the near-RT RIC and the E2 node. The reporting services are described in Table 2 below:
[0122]
[0123] Table 2
[0124] The FlexiSLICE O-RAN service model provides optional support for the following control services: (1) FlexiSLICE Slice Configuration for configuring RAN slice parameters and (2) FlexiSLICE UE Configuration for configuring user-specific RAN slice parameters. The control services are described in Table 3 below:
[0125]
[0126] Table 3
[0127] The above reporting and control services are supported by indication messages and control messages. The indication messages and control messages are described in Table 4 below:
[0128]
[0129] Table 4
[0130] In the context of FSM, the RIC indication message can adopt one of two formats: E2SM-FSM indication message format 1 and E2SM-FSM indication message format 2.
[0131] The E2SM-FSM indication message format 1 may carry a FlexiSLICE slice context container or a FlexiSLICE UE context container.
[0132] The FlexiSLICE Slice Context Container includes a list of slices for which the indication message is being sent and, for each slice in the slice list, the relevant context for that slice. For a given RAN slice, the FlexiSLICE Slice Context Container may include the following parameters:
[0133] Slice ID: defined according to S-NSSAI.
[0134] Slicing RAT: LTE, NR NSA or NR SA
[0135] Slice status: Idle, Dedicated, Priority, Shared, or Hybrid.
[0136] CU-UP transport layer association: A list of CU-UPs that carry user plane services for the DRBs associated with this slice.
[0137] • Slice scheduler: A scheduling algorithm used to allocate radio resources to the DRBs associated with the slice.
[0138] • Slice Resource Configuration: Downlink and uplink radio resource allocation for this slice in terms of dedicated and priority resources, and shared priority parameters (when applicable). • Last known FlexiSLICE context change event: The relevant 3GPP or FSM procedure responsible for the change of the FlexiSLICE context associated with this slice.
[0139] Related bearer list: A list of DRBs associated with this slice along with the following metrics.
[0140] o DRB ID: RAN-level identifier of this bearer.
[0141] ○UE ID: E2AP UE ID corresponding to the UE.
[0142] ○ RAN Priority: A priority metric used to distinguish DRBs with the same CQI in the same slice.
[0143] o Downlink Throughput: The average downlink throughput associated with a DRB measured at the RLC layer.
[0144] o Downlink Packet Delay: Average downlink packet delay associated with a DRB, including air interface delay.
[0145] o Downlink Packet Loss Rate: The average downlink packet loss rate associated with the DRB, including packets dropped at PDCP and RLC, packets lost on F1-U (if applicable), and packets dropped due to exceeding maximum retransmissions.
[0146] ○ Uplink Throughput: The average uplink throughput associated with the DRB measured at the RLC layer.
[0147] o Uplink Packet Delay: Average uplink packet delay associated with a DRB, including air interface delay.
[0148] o Uplink Packet Loss Rate: The average uplink packet loss rate associated with the DRB, including packets dropped at PDCP and packets lost on F1-U (if applicable).
[0149] o RLC buffer occupancy: RLC buffer occupancy on the logical channel associated with the DRB.
[0150] The FlexiSLICE UE Context Container includes a list of UEs for which the indication message is being sent and, for each UE in the UE list, the relevant context for that UE. For a given UE, the FlexiSLICE UE Context Container may include the following parameters:
[0151] UE ID: E2AP UE ID of the corresponding UE.
[0152] UE RAT: LTE, NR NSA, or NR SA
[0153] • Last known FlexiSLICE context change event: the relevant 3GPP or FSM procedure responsible for the change of the FlexiSLICE context associated with this UE.
[0154] • Downlink Modulation and Coding Scheme (MCS): The MCS associated with this UE's transmissions on the PDSCH.
[0155] • Uplink Modulation and Coding Scheme (MCS): The MCS associated with this UE's transmissions on the PUSCH.
[0156] Wideband CQI: The wideband channel quality indicator (CQI) of the UE.
[0157] Related bearer list: A list of DRBs associated with this UE and the following metrics.
[0158] ○ Slice ID: defined according to S-NSSAI.
[0159] ○ Slice status: Idle, Dedicated, Priority, Shared, or Hybrid.
[0160] ○RAN Priority: A priority metric used to differentiate DRBs with the same CQI in the same slice
[0161] o Downlink Throughput: The average downlink throughput associated with a DRB measured at the RLC layer.
[0162] o Downlink Packet Delay: Average downlink packet delay associated with a DRB, including air interface delay.
[0163] o Downlink Packet Loss Rate: The average downlink packet loss rate associated with the DRB, including packets dropped at PDCP and RLC, packets lost on F1-U (if applicable), and packets dropped due to exceeding maximum retransmissions.
[0164] ○ Uplink Throughput: The average uplink throughput associated with the DRB measured at the RLC layer.
[0165] o Uplink Packet Delay: Average uplink packet delay associated with a DRB, including air interface delay.
[0166] o Uplink Packet Loss Rate: The average uplink packet loss rate associated with the DRB, including packets dropped at PDCP and packets lost on F1-U (if applicable).
[0167] o RLC buffer occupancy: RLC buffer occupancy on the logical channel associated with the DRB.
[0168] The E2SM-FSM indication message format 2 carries the FlexiSLICE slice context change container.
[0169] The FlexiSLICE Slice Context Change container includes a list of slices for which the indication message is being sent and, for each slice in the slice list, a corresponding change in slice context. For a given RAN slice, the FlexiSLICE Slice Context Change container includes the following parameters.
[0170] Slice ID: defined according to S-NSSAI.
[0171] • Triggering event: the corresponding 3GPP or FSM event responsible for the change of FlexiSLICE context.
[0172] Context change results: The change of FlexiSLICE context involves the following parameters.
[0173] ○CU-UP transport layer association: Add or remove CU-UP associated with this slice.
[0174] o Slice Scheduler: Changes to the FD scheduling algorithm to be used for this slice.
[0175] ○ Slice resource configuration: Changes in the radio resource allocation for this slice.
[0176] ○ Related bearer list: Add, remove or modify the DRBs associated with this slice.
[0177] Similarly, the RIC control message is represented by E2SM-FSM control message format 1, which carries a FlexiSLICE slice configuration container or a FlexiSLICE UE configuration container.
[0178] For RIC control messages, the FlexiSLICE slice configuration container defines the list of slices for which the FlexiSLICE related context is to be modified, and includes the following parameters:
[0179] Slice ID: defined according to S-NSSAI.
[0180] Slice Status: Used to configure the operational status of the slice. Must be one of Idle, Dedicated, Priority, Shared, or Hybrid.
[0181] • Incoming CU-UP transport layer association: The specific CU-UP to be used for the next DRB associated with this slice.
[0182] Slice Scheduler: used to configure the FD scheduling algorithm to be used for this slice.
[0183] Slice resource configuration: used to configure the downlink and uplink radio resource allocation for this slice.
[0184] For RIC control messages, the FlexiSLICE UE Configuration container defines the list of UEs whose FlexiSLICE related contexts are to be modified and includes the following parameters:
[0185] UE ID: E2AP UE ID of the corresponding UE.
[0186] DRB ID: The DRB ID for which the configuration change is to be made.
[0187] RAN Priority: used to configure the RAN priority of the DRB for which a context change is requested.
[0188] The FlexiSLICE O-RAN service model (including E2SM-FSM parameters and messages supported between BS 203 and controller 205, and FlexiSLICE APIs supported on BS 203) enables various procedures within the entire FlexiSLICE framework. This procedure includes the FlexiSLICE telemetry registration procedure (about Figure 7 ), FlexiSLICE context reporting process (about Figure 8Presentation), and the FlexiSLICE context configuration process (about Figure 9 It should be understood that each of these processes will be discussed further below.
[0189] Figure 7 An example embodiment of a FlexiSLICE telemetry registration process 700 for use within the FlexiSLICE framework is depicted. The FlexiSLICE telemetry registration process 700 can be used to obtain slice-level statistics and UE-level statistics as they are relevant to the FlexiSLICE framework for use cases such as RAN slice assurance.
[0190] like Figure 7 As shown, the FlexiSLICE telemetry registration process 700 includes operations performed by a near-RT RIC 701 (more specifically, a use case application 702 and an FSM mediator xApp 703 of the near-RT RIC 701) and operations performed by a BS 705 (more specifically, an FSM RAN function 706 and a FlexiSLICE context 707 of the BS 705). The FSM mediator xApp 703 exposes a set of REST APIs that consumers (such as use case applications, including the use case application 702) can utilize to issue statistics requests.
[0191] In step 711, the use case application 702 initiates a REST-based FSM statistics request message, which is provided to the FSM mediator xApp 703. The REST-based FSM statistics request message includes a list of slices and / or UEs for which statistics are being requested, and a corresponding trigger condition (e.g., periodic, context change, or on-demand).
[0192] In step 712, the FSM intermediary xApp 703 uses the content of the REST-based FSM statistics request message to create a corresponding RIC subscription request message. The content of the RIC subscription request message is consistent with the E2SM-FSM service model. The E2SM-FSM event trigger is one of a periodic reporting event, a RAN slice context change event, or an on-demand event, and the corresponding reporting action is FlexiSLICE slice context, FlexiSLICE UE context, or FlexiSLICE context change.
[0193] In step 713 , the FSM agent xApp 703 sends a RIC subscription request message to the FSM RAN function 706 within the BS 705 .
[0194] At step 714, the FSM RAN function 706 performs telemetry request processing based on the RIC subscription request message. The FSM RAN function 706 performs telemetry request processing to identify the slice(s) and UE(s) for which statistics are being requested, i.e., the relevant resource targets and event triggers.
[0195] At step 715, the FSM RAN function 706 calls the FlexiSLICE telemetry request registration API to send a telemetry request registration to the FlexiSLICE context 707. The telemetry request registration includes resource target(s) and event trigger(s), i.e., the slice(s) and UE(s) for which statistics are being requested and the relevant event trigger(s) that triggered the request.
[0196] At step 716, the FlexiSLICE context 707 registers the requested statistics based on the telemetry request registration from the FSM RAN function 706. It should be understood that after the telemetry request is registered and activated, the BS 705 starts monitoring for relevant event triggers.
[0197] At step 717 , the FlexiSLICE context 707 calls the FlexiSLICE telemetry request registration API to send a telemetry request response to the FSM RAN function 706 .
[0198] At step 718 , the FSM RAN function 706 sends a RIC subscription response message to the FSM broker xApp 703 within the near RT RIC 701 .
[0199] At step 719 , the FSM mediator xApp 703 initiates a REST-based FSM statistics response message based on the RIC subscription response message, and the message is provided to the use case application 702 .
[0200] It should be understood that the FlexiSLICE telemetry registration process 700 may include various other functions, signaling, etc., as well as various combinations thereof.
[0201] Figure 8 An example embodiment of a FlexiSLICE context reporting process for use within the FlexiSLICE framework is depicted. The FlexiSLICE context reporting process may be initiated when an event trigger (periodic or otherwise) associated with an active telemetry request is detected.
[0202] like Figure 8As shown, the FlexiSLICE context reporting process 800 includes operations performed by a near-RT RIC 801 (more specifically, a use case application 802 and an FSM mediator xApp 803 of the near-RT RIC 801) and operations performed by a BS 805 (more specifically, an FSM RAN function 806 and a FlexiSLICE context 807 of the BS 805). The FSM mediator xApp 803 exposes a set of REST APIs that consumers (such as use case applications, including the use case application 802) can utilize to issue statistics requests.
[0203] At step 811, the FSM RAN function 806 detects an event trigger. An event trigger (periodic or otherwise) may be associated with an active telemetry request.
[0204] At step 812, the FSM RAN function 806 issues a statistics request via the FlexiSLICE API to the FlexiSLICE context 807. The statistics request includes information about the target(s) of the request (e.g., the slice and / or UE for which statistics are being requested) and the specific parameter(s) of the request (e.g., one or more parameters for which statistics are being requested).
[0205] At step 813, the FlexiSLICE context 807 clocks the counter (for the requested statistics) to the FSM RAN function 806 via the FlexiSLICE API.
[0206] The FlexiSLICE context 807 generates an FSM report including the requested statistics at step 814. The FSM report may include a FlexiSLICE slice context container, a FlexiSLICE UE context container, or a FlexiSLICE slice context change container.
[0207] In step 815, the FlexiSLICE context 807 encapsulates the FSM report in an E2AP RIC Indication message to be delivered to the FSM broker xApp 803 of the near-RT RIC 801. The E2AP RIC Indication message may use E2SM-FSM Indication message format 1 or E2SM-FSM Indication message format 2.
[0208] At step 816 , the FSM mediator xApp 803 processes the FSM report within the E2AP RIC indication message.
[0209] At step 817 , the FSM mediator xApp 803 delivers the statistics from the FSM report to the use case application 802 .
[0210] It should be understood that the FlexiSLICE context reporting process 800 may include various other functions, signaling, etc., as well as various combinations thereof.
[0211] Figure 9 An example embodiment of a FlexiSLICE context configuration process for use within the FlexiSLICE framework is depicted. The FlexiSLICE context configuration process may be used to support configuration of a context.
[0212] like Figure 9 As shown, the FlexiSLICE context configuration process 900 includes operations performed by a near-RT RIC 901 (more specifically, a use case application 902 and an FSM mediator xApp 903 of the near-RT RIC 901) and operations performed by a BS 905 (more specifically, an FSM RAN function 906 and a FlexiSLICE context 907 of the BS 905). The FSM mediator xApp 903 exposes a set of REST APIs, which consumers (such as use case applications, including the use case application 902) can use to issue control requests.
[0213] At step 911, the use case application 902 initiates a REST-based FSM control request message, which is provided to the FSM mediator xApp 903. The REST-based FSM control request message includes a list of slices and / or UEs whose context configuration is being requested, and the corresponding configuration context.
[0214] In step 912, the FSM intermediary xApp X03 maps the REST-based FSM control request message to a corresponding RIC control request message to create a corresponding RIC control request message. The content of the RIC control request message conforms to the E2SM-FSM service model and carries a FlexiSLICE slice configuration container or a FlexiSLICE UE configuration container.
[0215] In step 913 , the FSM agent xApp 903 sends a RIC control request message to the FSM RAN function 906 within the BS 905 .
[0216] At step 914, the FSM RAN function 906 performs control request processing based on the RIC control request message. The FSM RAN function 906 performs control request processing to identify the slice(s) and UE(s) whose context is being updated, i.e., the relevant resource targets and configuration parameters.
[0217] At step 915, the FSM RAN function 906 calls the FlexiSLICE control request API to send a control request to the FlexiSLICE context 907. The control request includes resource target(s) and configuration parameter(s), i.e., the slice(s) and UE(s) whose context is being updated and the configuration parameters for the context update.
[0218] At step 916 , the FlexiSLICE context 907 performs a configuration update based on the control request from the FSM RAN function 906 .
[0219] At step 917 , the FlexiSLICE context 907 calls the FlexiSLICE control request response API to send a control request response to the FSM RAN function 906 .
[0220] At step 918 , the FSM RAN function 906 sends a RIC Control Confirm message to the FSM Broker xApp 903 within the Near RT RIC 901 .
[0221] At step 919 , the FSM mediator xApp 903 initiates a REST-based FSM control response message based on the RIC control confirmation message, and the FSM control response message is provided to the use case application 902 .
[0222] It should be understood that the FlexiSLICE context configuration process 900 may include various other functions, signaling, etc., as well as various combinations thereof.
[0223] It should be understood that the inclusion of the E2SM specification does not preclude other external management and control entities from using FlexiSLICE using other types of interfaces (e.g., other standardized interfaces such as O1, vendor-proprietary interfaces, etc., and various combinations thereof). Thus, the various features presented herein can be utilized by any type of network control system.
[0224] Figure 10 An example embodiment of a method for supporting network slicing in a RAN is depicted. It should be understood that although primarily presented herein as being performed serially, at least a portion of the functionality of method 1000 may be performed concurrently or in parallel. Figure 10The different orders presented are performed. At box 1001, method 1000 starts. At box 1010, a first control message is sent by a controller of the RAN to a BS of the RAN, the first control message including first network slice configuration information of a network slice supported by the BS, wherein the network slice configuration information of the network slice includes an operating state of the network slice, a radio resource configuration of the network slice based on the operating state of the network slice, and a slice-specific scheduling algorithm of the network slice. At box 1020, an indication message is received by the controller from the BS, the indication message including a context information set of the network slice and a statistics set associated with the network slice. At box 1030, the controller determines second network slice configuration information of the network slice based on at least one of the context information set or the statistics set. At box 1040, a second control message is sent by the controller to the BS, the second control message including the second network slice configuration information of the network slice. At box 1099, method 1000 ends.
[0225] Figure 11 An example embodiment of a method for supporting network slicing in a RAN by a BS is described. It should be understood that although primarily presented herein as being performed in a serial manner, at least a portion of the functionality of method 1100 may be performed simultaneously or in parallel. Figure 11 The execution order is different.
[0226] At block 1101 , method 1100 begins.
[0227] At box 1110, messages related to the configuration of the network slice set on the BS are exchanged between the BS of the RAN and the controller of the RAN.
[0228] The base station may support a set of services between the BS and the controller based on a set of message types.
[0229] The service set may include a reporting service set, and the reporting service set includes at least one of a slice context report, a UE context report, or a context change report, the slice context report includes configuration information and statistics of one or more network slices at the BS, the UE context report includes slice-related configuration information and statistics of one or more UEs at the BS, or the context change report is used to synchronize slice-related contexts between the controller and the BS.
[0230] The service set includes a control service set, wherein the control service set includes at least one of a slice configuration service for configuring at least one network slice parameter for one or more network slices, or a UE configuration service for configuring UE-specific slice parameters.
[0231] The message type set may include at least one of an indication message or a control message.
[0232] The message type set may include an indication message comprising a slice context container, wherein for each of one or more network slices, the slice context container may include a corresponding context of the corresponding network slice defined based on a parameter set, wherein the parameter set includes one or more of the following: a slice identifier of the network slice, a radio access technology of the network slice, a slice state of the network slice, a central unit user plane (CU-UP) transport layer association of the network slice, a scheduling algorithm of the network slice, a slice resource configuration of the network slice, a last known context change event of the network slice, or a list of data radio bearers associated with the network slice.
[0233] For each data radio bearer associated with the network slice, the data radio bearer list associated with the network slice may include a corresponding set of parameters associated with the corresponding data radio bearer, including a network level identifier of the bearer, a UE identifier of the corresponding UE of the data radio bearer, a priority metric, a downlink throughput, a downlink packet delay, a downlink packet loss rate, an uplink throughput, an uplink packet delay, an uplink packet loss rate or a buffer occupancy.
[0234] The message type set may include an indication message, the indication message including a UE context container, wherein, for each of the one or more UEs, the UE context container may include a corresponding context of the corresponding UE defined based on a parameter set, wherein the parameter set includes one or more of the following: a UE identifier of the UE, a radio access technology of the UE, a last known context change event of the UE, a downlink modulation or coding scheme of the UE, an uplink modulation or coding method of the UE, a wideband channel quality indicator of the UE, or a list of data radio bearers associated with the UE.
[0235] For each data radio bearer associated with the network slice, the data radio bearer list associated with the UE may include a corresponding set of parameters associated with the corresponding data radio bearer, including one or more of a slice identifier, a slice status, a priority metric, a downlink throughput, a downlink packet delay, a downlink packet loss rate, an uplink throughput, an uplink packet delay, an uplink packet loss rate, or a buffer occupancy.
[0236] The set of message types may include an indication message, the indication message including a slice context change container, wherein for each of the one or more network slices for which the indication message is being sent, the slice context change container may include a corresponding set of parameters describing a change in a slice context of the corresponding network slice, wherein the corresponding set of parameters describing the change in the slice context of the corresponding network slice includes a slice identifier of the corresponding network slice, a triggering event responsible for the change in the slice context of the corresponding network slice, and a context change description of the change in the slice context of the corresponding network slice, wherein the context change description of the change in the slice context of the corresponding network slice includes one or more of the following: a central unit user plane (CU-UP) transport layer association of the corresponding network slice, a scheduling algorithm associated with the corresponding network slice, an indication of a change in radio resource allocation of the corresponding network slice, or a bearer list of the corresponding network slice.
[0237] The set of message types may include a control message comprising a slice configuration container of a network slice whose slice context is being modified, wherein the slice configuration container may include at least one of a slice identifier of the network slice, a slice status of the network slice, a central unit user plane (CU-UP) transport layer association of the network slice, a slice scheduling algorithm of the network slice, or a resource configuration of the network slice.
[0238] The message type set may include a control message including a UE configuration container for a UE whose UE context is being modified, wherein the UE configuration container may include at least one of a UE identifier of the UE, a data radio bearer identifier of a data radio bearer of the UE whose context is being modified, or a priority indicator of a data radio bearer of the UE whose context is being modified.
[0239] The BS can receive a control request related to the configuration of one or more network slices from the controller, convert the control request into a configuration request for configuring one or more network slices based on an application programming interface, and support the configuration of one or more network slices based on the modification of the network slice configuration information based on the configuration request.
[0240] The BS may receive a telemetry subscription request from a controller, the telemetry subscription request indicating that the controller receives a request for slice statistics associated with one or more network slices, convert the telemetry subscription request into a telemetry registration request based on an application programming interface, the telemetry registration request being configured to register the controller to receive a request for slice statistics associated with one or more network slices, and the BS supports the controller registration request based on the telemetry registration request to receive slice statistics associated with one or more network slices.
[0241] The BS can detect a trigger condition based on the controller's registration of a request to receive slice statistics associated with one or more network slices, obtain a slice statistics set associated with one or more network slices in response to the trigger condition and based on an application programming interface, and send an indication message to the controller including the slice statistics set associated with one or more network slices.
[0242] At box 1120, network slice configuration information of the network slice set is maintained by the BS, wherein for each network slice in the network slice set, the network slice configuration information includes a corresponding network slice parameter set of the corresponding network slice, the corresponding network slice parameter set includes an operating state of the corresponding network slice, a radio resource configuration of the corresponding network slice based on the operating state of the corresponding network slice, and a slice-specific scheduling algorithm of the corresponding network slice.
[0243] For at least one network slice, the BS may support configuration of a corresponding set of network slice parameters of the network slice based on one or more control messages from the controller to meet a set of requirements for a use case served by the RAN.
[0244] The operating state of the corresponding network slice can be based on the supported operating state set of the network slice set, where the operating state set includes idle state, dedicated state, priority state, shared state and mixed state.
[0245] The radio resource configuration of the corresponding network slice may be based on the operation state of the corresponding network slice, wherein the corresponding network slice is in a dedicated state, and the radio resource configuration includes an indication of the number of radio resources dedicated to the corresponding network slice; the corresponding network slice is in a priority state, and the radio resource configuration includes an indication of the number of radio resources to which the corresponding network slice has priority access; the corresponding network slice is in a shared state, and the radio resource configuration includes an indication of a shared priority parameter indicating the priority of the corresponding network slice for accessing a shared radio resource pool; or the corresponding network slice is in a hybrid state, and the radio resource configuration includes a dedicated radio resource configuration indicating the number of radio resources dedicated to the corresponding network slice, a priority radio resource configuration indicating the number of radio resources to which the corresponding network slice has priority access, and a shared priority parameter indicating the priority of the corresponding network slice for accessing a shared radio resource pool.
[0246] At box 1130, slice-aware allocation of frequency domain resources of the RAN to the set of UEs associated with the BS is performed by the BS based on network slice configuration information of the set of network slices.
[0247] The slice-specific scheduling algorithm of the corresponding network slice may include one of a proportional fair scheduling algorithm, a polling scheduling algorithm, or a maximum throughput scheduling algorithm.
[0248] For each network slice in the network slice set, the network slice parameter set may include an indication of the radio access technology of the corresponding network slice or at least one item in the RAN level user plane association set of the corresponding network slice.
[0249] For at least one network slice in a network slice set, the operating state of the corresponding network slice can be based on an event-driven network slice state machine, which supports: an idle state, in which the corresponding network slice is not allocated any data radio bearer; a dedicated state, in which the corresponding network slice is allocated a dedicated radio resource set; a priority state, in which the corresponding network slice has priority access to the radio resource set allocated to the corresponding network slice, and unused radio resources among the radio resources allocated to the corresponding network slice are allocated to a shared radio resource pool; a shared state, in which the corresponding network slice has no explicit allocation of radio resources and is able to access the shared radio resource pool based on the priority of the corresponding network slice; and a hybrid state, in which the corresponding network slice includes a dedicated radio resource configuration, a priority radio resource configuration, and a shared priority parameter.
[0250] The slice-aware allocation of the frequency domain resources of the RAN to the set of UEs of the RAN can be based on the allocation of frequency domain resources to data radio bearers of the UE based on the corresponding operating state of the corresponding network slice, the corresponding radio resource configuration of the corresponding network slice and the corresponding slice-specific scheduling algorithm of the corresponding network slice.
[0251] Slice-aware allocation of the RAN's frequency domain resources to a set of UEs of the RAN may be based on: a first scheduling stage for providing a first resource allocation for the set of UEs based on slice-specific scheduling of the frequency domain resources to the UEs; a second scheduling stage for providing a second resource allocation for the set of UEs based on system-level scheduling of shared frequency domain resources to the UEs; and a third scheduling stage, in which virtual resource blocks are allocated to data radio bearers of the UEs based on the first resource allocation for the set of UEs and the second resource allocation for the set of UEs.
[0252] Slice-aware allocation of the frequency domain resources of the RAN to the UE set of the RAN can be performed in the following manner: for each network slice in the network slice set, determining a corresponding data radio bearer set of the UE set associated with the corresponding network slice; and for each UE in the UE set, determining a corresponding virtual resource block set allocated to the corresponding UE based on slice-aware scheduling according to the network slice set.
[0253] For each UE in the UE set, determining a corresponding set of virtual resource blocks allocated to the corresponding UE based on slice-aware scheduling according to the network slice set may include: determining, for each network slice in a first network slice subset including network slices in a dedicated state, a priority state or a hybrid state in the network slices, a first resource allocation indicating a corresponding number of radio bearers to be allocated to each data radio bearer associated with the corresponding network slice; for each network slice in a second network slice subset including network slices in a hybrid state or a shared state in the network slices, determining a second resource allocation indicating the number of radio bearers to be allocated to each data radio bearer associated with the corresponding network slice; and, for each UE in the UE set, determining an allocation of the corresponding set of virtual resource blocks to the corresponding UE based on the first resource allocation and the second resource allocation.
[0254] The first resource allocation may be determined based on a corresponding slice-specific scheduling algorithm applied to a corresponding network slice in the network slices in the first subset of network slices, wherein the second resource allocation is determined based on a system-level scheduling algorithm applied to a network slice in the network slices in the second subset of network slices.
[0255] Determination of the first resource allocation may include: determining, for each network slice in the first subset of network slices, a number of radio bearers to be allocated to each data radio bearer associated with the corresponding network slice based on the corresponding slice-specific scheduling algorithm of the corresponding network slice and the corresponding radio resource configuration of the corresponding network slice, the number being up to a maximum value for the corresponding network slice, which is constrained by the sum of dedicated resources and priority resources associated with the corresponding network slice; and outputting a list of data radio bearers of UEs to which radio bearers are allocated and the corresponding number of radio bearers allocated to the corresponding data radio bearers of the UE, and a list of data radio bearers of UEs to which no radio bearers are allocated.
[0256] Determination of the second resource allocation may include: determining, for each network slice in the second slice subset, a number of radio bearers to be allocated to each data radio bearer associated with the corresponding network slice based on a system-level scheduling algorithm and a corresponding radio resource configuration of the corresponding network slice, which is up to a maximum value defined by resource availability within the shared resource pool; and outputting a list of data radio bearers of the UE and the corresponding number of radio bearers allocated to the corresponding data radio bearers of the UE.
[0257] For each UE in the UE set, determining an allocation of a corresponding set of virtual resource blocks to the corresponding UE based on the first resource allocation and the second resource allocation may include: for each UE in the UE set, determining a corresponding number of radio bearers allocated to each data radio bearer of the corresponding UE based on the first resource allocation and the second resource allocation; and allocating a specific virtual resource block to each UE for use by each data radio bearer of the corresponding UE based on the corresponding number of radio bearers allocated to each data radio bearer of the corresponding UE.
[0258] The BS may support at least one of configuration of a network slice by a controller or collection of operational statistics of the network slice by the controller based on a set of application programming interfaces.
[0259] At box 1199, method 1100 ends.
[0260] Figure 12A and Figure 12B Depicted are the results of an example implementation of FlexiSLICE within an over-the-air (OTA) experimental network supporting a set of commercial off-the-shelf (COTS) UEs.
[0261] Figure 12A The results of the first implementation of FlexiSLICE within an OTA experimental network supporting multiple COTS UEs are depicted. In this example, it is assumed that a gNB with 106 RBs is deployed, and a maximum downlink throughput of 130 Mbps can be achieved. In this example, it is assumed that the gNB is configured with two RAN slices, denoted as Slice 1 and Slice 2, which are initially operated in a shared state and are therefore allocated equal shares of radio resources, as shown in Figure 2. Figure 12A As shown. Then, at t=20s, in response to the change in network policy, the FSM agent xApp sends a control request that changes the configuration of slice 2 to be dedicated to 85 RBs, bringing its throughput up to 103Mbps, at the expense of sharing slice 1. However, since both slices have sufficient resources to meet their respective target throughputs, there is no congestion, as evidenced by the relatively low round-trip time (RTT) values. Next, at t=40s, all active users leave slice 2, causing its service to drop to zero, while at the same time, a second change in network policy requires a downlink throughput of 130Mbps for slice 1. Since slice 2 is in a dedicated state, its unused resources are not restored to the shared pool. From Figure 12AIt can be seen that the overall gNB resource utilization drops to 20% and slice 1 is unable to increase its throughput above 27Mbps, causing congestion and RTT to spike dramatically. To restore performance, at t=60s, a second control request from the RIC changes the state of slice 2 to priority. Now, all unused resources in slice 2 enter the shared pool and are thus available to slice 1. As a result, slice 1 is able to achieve its target downlink throughput of 130Mbps. In this way, while the dedicated and priority states can be used to enforce both resource isolation and fine-grained performance requirements, the flexibility of switching between different states ensures that FlexiSLICE can adapt to changing network conditions. It should be noted that while the waste of unused resources associated with dedicated slices may lead one to question the utility of the dedicated state, dedicated slices can be very useful in various situations (as discussed below with respect to Figure 12B as shown in the second example described).
[0262] Figure 12B The results of the first implementation of FlexiSLICE in an OTA experimental network supporting multiple COTS UEs are depicted. In this example, it is assumed that a gNB with 106 RBs is deployed, and a maximum downlink throughput of 130 Mbps can be achieved. In this example, it is assumed that the gNB is configured with three RAN slices: Slice 1 in dedicated state, Slice 2 in priority state, and Slice 3 in shared state. Figure 12B As shown, from t=0-19s, slice 1 and slice 2 are each allocated 40% of the available resources, and the shared pool contains the remaining 20% for slice 3. Since the throughput requirements of each slice are consistent with its corresponding resource allocation, the network will not experience congestion. Then, at t=20s, all active users leave slices 1 and 2. Slice 1 remains in the dedicated state, while slice 2 gives up its priority resource allocation and switches to the idle state. As a result, slice 3 now has access to 60% of the network resources and its downlink throughput increases to 78Mbps. Next, at t=40s, slice 1 acquires an active user, and at the same time, due to the change in network policy, the FSM xApp allocates 80% of the available resources to slice 1. Predictably, from Figure 12BAs can be seen, the throughput of slice 1 increases, while that of slice 3 decreases. Then, at t = 60s, slice 3 also acquires an active user and transitions from the idle state. Since slice 3 was previously prioritized, it now enters the shared state, albeit with the same target throughput of 52 Mbps as before. However, at this point, slices 2 and 3 share the same shared pool, with only 20% of the total resources. At 10% resource allocation, slice 2 is unable to achieve its target throughput, resulting in a congestion-induced spike in its RTT. These results demonstrate the importance of a dedicated state. The ability to switch to dedicated mode is ideal for critical use cases, such as public safety networks during emergencies, ensuring a minimum performance level isolated from changing network conditions. After the emergency ends, these slices can switch back to prioritized mode for improved resource efficiency. This example also demonstrates the inherent performance isolation of FlexiSLICE, with slices 1 and 3 unaffected by the congestion in slice 2.
[0263] Various example embodiments of the programmable RAN slicing framework can be configured to provide various advantages or potential advantages.
[0264] For example, various example embodiments of the programmable RAN slicing framework may be configured to support a comprehensive RAN slicing framework that enables flexible and customizable RAN slicing capabilities, thereby enabling customized functions and network operations to support various individual use cases, such as enhanced mobile broadband (eMBB), ultra-reliable low latency communications (URLLC), massive Internet of Things (MIoT), industrial communications (e.g., factories, mining, etc.), vehicular communications (e.g., vehicle-to-everything (V2X) communications or other suitable vehicular communications), reality-related applications (e.g., virtual reality (VR), augmented reality (AR), mixed reality (MR), extended reality (XR), etc.), etc., and various combinations thereof. For example, various example embodiments of the programmable RAN slicing framework may be configured to support RAN slicing based on dynamic and flexible RAN slice characterization (e.g., supporting dynamic resource configuration, NRM compliance, flexibility in resource scheduling, supporting rapid changes in services and user mobility, supporting dynamic slice customization capabilities to meet use case-specific requirements, etc., and various combinations thereof). For example, various example embodiments of the programmable RAN slicing framework may be configured to support RAN slicing based on support for programmable use case driven control and assurance (e.g., enabling the O-RAN service model to expose additional slicing parameters that support dynamic and flexible RAN slice characterization, service differentiation, etc., and various combinations thereof). For example, various example embodiments of the programmable RAN slicing framework may be configured to support RAN slicing based on the use of a highly dynamic and flexible characterization of RAN slices, treating them as non-homogeneous radio resource pools that support various resource differentiation ranges and service specific scheduling mechanisms. For example, various example embodiments of the programmable RAN slicing framework may be configured to support RAN slicing based on the use of a control system that supports slice programmability for control and assurance, while also supporting non-homogeneous radio resources and use case specific customization. For example, various example embodiments of the programmable RAN slicing framework may be configured to provide RAN slicing in a manner that is driven by customer needs and consistent with the various functions of the RAN base stations and RAN controllers.
[0265] For example, various example embodiments of the programmable RAN slicing framework may be configured to provide a highly modular programmable framework for RAN slicing that can be integrated in O-RAN based systems as well as vendor proprietary systems. For example, various example embodiments of the programmable RAN slicing framework may be configured to provide a programmable network slicing framework, referred to herein as FlexiSLICE, which supports a slice-centric frequency domain scheduling mechanism within a base station and a set of APIs that provide slice configuration and statistics capabilities, combined with a FlexiSLICE Manager (FSM) O-RAN RAN function and support for E2 service models, E2 service model FlexiSLICE Manager (E2SM-FSM) and xApps for slice-related RAN-RIC interactions, etc., and various combinations thereof. For example, various example embodiments of the programmable RAN slicing framework may be configured to enable support for use case specific RAN slice customization based on FlexiSLICE RAN slice characterization. For example, various example embodiments of the programmable RAN slicing framework may be configured to enable delivery of differentiated scheduling paradigms customized for specific services served by a slice through the FlexiSLICE FD Scheduling Framework (FFSF). For example, various example embodiments of the programmable RAN slicing framework may be configured to support robust RAN slice programmability and control through the FlexiSLICE API, FlexiSLICE Manager (FSM) RAN function, and FSM Broker xApp.
[0266] Various example embodiments of the programmable RAN slicing framework can be configured to provide various other advantages or potential advantages.
[0267] Figure 13 An example embodiment of a computer suitable for performing the various functions presented herein is depicted.
[0268] The computer 1300 includes a processor 1302 (e.g., a central processing unit (CPU), a processor, a processor core of a processor, a subset of a processor core of a processor, a collection of processor cores of a processor, etc.) and a memory 1304 (e.g., a random access memory (RAM), a read-only memory (ROM), etc.). In at least some example embodiments, the computer 1300 may include at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the computer to perform the various functions presented herein.
[0269] The computer 1300 may also include a cooperating element 1305. The cooperating element 1305 may be a hardware device. The cooperating element 1305 may be a process that can be loaded into the memory 1304 and executed by the processor 1302 to implement the various functions presented herein (in which case, for example, the cooperating element 1305 (including associated data structures) may be stored on a non-transitory computer-readable medium, such as a memory device or other suitable type of storage element (e.g., a magnetic drive, an optical drive, etc.)).
[0270] The computer 1300 may also include one or more input / output devices 1306. The input / output devices 1306 may include one or more user input devices (e.g., keyboard, keypad, mouse, microphone, camera, etc.), user output devices (e.g., display, speakers, etc.), one or more network communication devices or elements (e.g., input ports, output ports, receivers, transmitters, transceivers, etc.), one or more storage devices (e.g., tape drive, floppy disk drive, hard drive, optical disk drive, etc.), etc., and various combinations thereof.
[0271] It should be understood that the computer 1300 may represent a general architecture and functionality suitable for implementing the functional elements described herein, portions of the functional elements described herein, etc., as well as various combinations thereof. For example, the computer 1300 may provide a general architecture and functionality suitable for implementing one or more elements presented herein, such as a controller or a portion thereof, a base station or a portion thereof, etc.
[0272] It should be understood that at least some of the functionality presented herein may be implemented in software (e.g., by implementing the software on one or more processors for execution on a general-purpose computer (e.g., by one or more processors) to provide a special-purpose computer, etc.) and / or may be implemented in hardware (e.g., using a general-purpose computer, one or more application-specific integrated circuits, and / or any other hardware equivalents).
[0273] It should be understood that at least some of the functions presented herein can be implemented in hardware, for example, as a circuit system that cooperates with a processor to perform various functions. Some of the functions / elements described herein can be implemented as a computer program product, in which computer instructions, when processed by a computer, adapt the operation of the computer to invoke or otherwise provide the methods and / or techniques described herein. Instructions for invoking various methods can be stored in a fixed or removable medium (e.g., a non-transitory computer-readable medium), transmitted via a data stream in a broadcast or other signal-bearing medium, and / or stored in a memory within a computing device that operates according to the instructions.
[0274] It should be understood that the term "non-transitory" as used herein is a limitation on the medium itself (ie, tangible, not a signal), and not on the persistence of data storage (eg, RAM versus ROM).
[0275] It should be understood that, as used herein, “at least one of ” and “at least one of: <two or more elements>” and similar expressions (where a list of two or more elements is connected by “and” or “or”) refer to at least any one of these elements, or at least any two or more of these elements, or at least all of these elements.
[0276] It should be understood that, as used herein, the term "or" refers to a non-exclusive "or" unless otherwise indicated (eg, with use of "otherwise" or "or in the alternative").
[0277] It will be appreciated that although various embodiments incorporating the teachings presented herein have been shown and described in detail, those skilled in the art can readily devise numerous other varied embodiments that still incorporate these teachings.
Claims
1. A device for network slicing, comprising: at least one processor; as well as at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to at least: exchanging, by a base station of a radio access network and a controller of the radio access network, messages related to configuration of a set of network slices on the base station; Maintaining, by the base station, network slice configuration information of the set of network slices, wherein, for each network slice in the set of network slices, the network slice configuration information includes a corresponding network slice parameter set of the corresponding network slice, the corresponding network slice parameter set including an operation state of the corresponding network slice, a radio resource configuration of the corresponding network slice based on the operation state of the corresponding network slice, and a slice-specific scheduling algorithm of the corresponding network slice; as well as The base station performs slice-aware allocation of frequency domain resources of the radio access network to a set of user equipment associated with the base station based on the network slice configuration information of the set of network slices.
2. The apparatus of claim 1 , wherein the instructions, when executed by the at least one processor, cause the apparatus to at least: For at least one of the network slices, the base station supports configuration of the corresponding set of network slice parameters of the network slice based on one or more control messages from the controller to meet a set of requirements of a use case served by the radio access network.
3. The apparatus according to any one of claims 1 to 2, wherein the operating state of the corresponding network slice is based on a supported operating state set for the set of network slices, wherein the operating state set comprises: Idle state, dedicated state, priority state, shared state and mixed state.
4. The apparatus of claim 3 , wherein the radio resource configuration of the corresponding network slice is based on the operational state of the corresponding network slice, wherein: The respective network slice is in the dedicated state, and the radio resource configuration comprises: an indication of a quantity of radio resources dedicated to the respective network slice; The corresponding network slice is in the priority state, and the radio resource configuration includes: an indication of a quantity of radio resources to which the corresponding network slice has priority access; The corresponding network slice is in the shared state, and the radio resource configuration includes: an indication of a sharing priority parameter indicating a priority of the corresponding network slice for accessing a shared radio resource pool; or The corresponding network slice is in the hybrid state, and the radio resource configuration includes: a dedicated radio resource configuration indicating the number of radio resources dedicated to the corresponding network slice, a priority radio resource configuration indicating the number of radio resources to which the corresponding network slice has priority access, and a shared priority parameter indicating the priority of the corresponding network slice for accessing a shared radio resource pool.
5. The apparatus according to any one of claims 1 to 2, wherein the slice-specific scheduling algorithm of the corresponding network slice comprises: One of the proportional fairness, round-robin, or maximum throughput algorithms.
6. The apparatus according to any one of claims 1 to 2, wherein for each network slice in the set of network slices, the corresponding network slice parameter set of the corresponding network slice further comprises: An indication of the radio access technology of the corresponding network slice, or at least one item in the radio access network level user plane association set of the corresponding network slice.
7. The apparatus according to any one of claims 1 to 2, wherein, for at least one of the network slices in the set of network slices, the operational state of the corresponding network slice is based on an event-driven network slice state machine, the event-driven network slice state machine supporting: an idle state, in which the corresponding network slice is not allocated any data radio bearer; a dedicated state, in which the corresponding network slice is allocated a dedicated set of radio resources; a priority state, in which the corresponding network slice has priority access to a set of radio resources allocated to the corresponding network slice, and unused radio resources among the radio resources allocated to the corresponding network slice are allocated to a shared radio resource pool; a shared state, in which the corresponding network slice has no explicit allocation of radio resources and can access a shared radio resource pool based on a priority of the corresponding network slice; as well as A hybrid state, in which the corresponding network slice includes: dedicated radio resource configuration, priority radio resource configuration, and shared priority parameters.
8. An apparatus according to any one of claims 1 to 2, wherein the slice-aware allocation of the frequency domain resources of the radio access network to the set of user equipment of the radio access network is based on: allocation of frequency domain resources to data radio bearers of the user equipment based on the corresponding operating state of the corresponding network slice, the corresponding radio resource configuration of the corresponding network slice, and the corresponding slice-specific scheduling algorithm of the corresponding network slice.
9. The apparatus according to any one of claims 1 to 2, wherein the slice-aware allocation of frequency domain resources of the radio access network to the set of user equipments of the radio access network is based on: A first scheduling stage is configured to provide a first resource allocation for the set of user equipments based on slice-specific scheduling of frequency domain resources to the user equipments; A second scheduling phase is configured to provide a second resource allocation for the set of user equipments based on system-level scheduling of shared frequency domain resources to the user equipments; as well as A third scheduling stage, in which virtual resource blocks are allocated to data radio bearers of the user equipment based on the first resource allocation for the set of user equipments and the second resource allocation for the set of user equipments.
10. The apparatus according to any one of claims 1 to 2, wherein to perform slice-aware allocation of frequency domain resources of the radio access network to the set of user equipments of the radio access network, the instructions, when executed by the at least one processor, cause the apparatus to at least: determining, for each network slice in the set of network slices, a respective set of data radio bearers for the set of user equipments associated with the respective network slice; and For each user equipment in the set of user equipment, a corresponding set of virtual resource blocks allocated to the corresponding user equipment is determined based on slice-aware scheduling according to the set of network slices.
11. The apparatus of claim 10 , wherein, to determine, for each user equipment in the set of user equipments, the corresponding set of virtual resource blocks allocated to the corresponding user equipment based on slice-aware scheduling according to the set of network slices, the instructions, when executed by the at least one processor, cause the apparatus to at least: determining, for each network slice in a first subset of network slices including a network slice in a dedicated state, a priority state, or a hybrid state among the network slices, a first resource allocation indicating a respective number of radio bearers to be allocated to each data radio bearer associated with the respective network slice; determining, for each network slice in a second subset of network slices including one of the network slices in the hybrid state or the shared state, a second resource allocation indicating a number of radio bearers to be allocated to each data radio bearer associated with the respective network slice; as well as For each user equipment in the set of user equipments, allocation of the corresponding set of virtual resource blocks to the corresponding user equipment is determined based on the first resource allocation and the second resource allocation.
12. The apparatus of claim 11 , wherein the first resource allocation is determined based on a corresponding slice-specific scheduling algorithm applied to a corresponding network slice in the network slices in the first subset of network slices, and wherein the second resource allocation is determined based on a system-level scheduling algorithm applied to a network slice in the network slices in the second subset of network slices.
13. The apparatus of claim 11 , wherein to determine the first resource allocation, the instructions, when executed by the at least one processor, cause the apparatus to at least: determining, for each network slice in the first subset of network slices, a number of radio bearers to be allocated to each data radio bearer associated with the respective network slice based on the respective slice-specific scheduling algorithm for the respective network slice and the respective radio resource configuration for the respective network slice, the number being up to a maximum value for the respective network slice, the maximum value being constrained by a sum of dedicated resources and priority resources associated with the respective network slice; and A list of the data radio bearers of the user equipment to which radio bearers are allocated and corresponding numbers of the radio bearers allocated to the corresponding data radio bearers of the user equipment and a list of data radio bearers of the user equipment to which no radio bearer is allocated are output.
14. The apparatus of claim 13, wherein the slice-specific scheduling algorithm associated with the respective network slice comprises: One of the proportional fairness, round-robin, or maximum throughput algorithms.
15. The apparatus of claim 11 , wherein to determine the second resource allocation, the instructions, when executed by the at least one processor, cause the apparatus to at least: determining, for each network slice in the second subset of slices, a number of radio bearers to allocate to each data radio bearer associated with the respective network slice based on a system level scheduling algorithm and the respective radio resource configuration of the respective network slice, the number being up to a maximum value defined by resource availability within the shared resource pool; and A list of the data radio bearers of the user equipment and corresponding numbers of the radio bearers allocated to the corresponding data radio bearers of the user equipment are output.
16. The apparatus of claim 11 , wherein, to determine, for each user equipment in the set of user equipment, an allocation of the corresponding set of virtual resource blocks to the corresponding user equipment based on the first resource allocation and the second resource allocation, the instructions, when executed by the at least one processor, cause the apparatus to at least: determining, for each user equipment in the set of user equipment, a respective number of the radio bearers allocated to each data radio bearer of the respective user equipment based on the first resource allocation and the second resource allocation; and A specific virtual resource block is allocated to each user equipment for use by each data radio bearer of the corresponding user equipment based on the corresponding number of radio bearers allocated to each data radio bearer of the corresponding user equipment.
17. The apparatus of any one of claims 1 to 2, wherein the instructions, when executed by the at least one processor, cause the apparatus to at least: The base station supports at least one of configuration of the network slice by the controller or collection of operation statistics of the network slice by the controller based on a set of application programming interfaces.
18. The apparatus of any one of claims 1 to 2, wherein the instructions, when executed by the at least one processor, cause the apparatus to at least: A set of services between the base station and the controller is supported by the base station based on a set of message types.
19. A computer-readable medium storing computer program instructions that, when executed by an apparatus for network slicing, cause the apparatus to at least: exchanging, by a base station of a radio access network and a controller of the radio access network, messages related to configuration of a set of network slices on the base station; Maintaining, by the base station, network slice configuration information of the set of network slices, wherein, for each network slice in the set of network slices, the network slice configuration information includes a corresponding network slice parameter set of the corresponding network slice, the corresponding network slice parameter set including an operation state of the corresponding network slice, a radio resource configuration of the corresponding network slice based on the operation state of the corresponding network slice, and a slice-specific scheduling algorithm of the corresponding network slice; as well as The base station performs slice-aware allocation of frequency domain resources of the radio access network to a set of user equipment associated with the base station based on the network slice configuration information of the set of network slices.
20. A method for network slicing, comprising: exchanging, by a base station of a radio access network and a controller of the radio access network, messages related to configuration of a set of network slices on the base station; Maintaining, by the base station, network slice configuration information of the set of network slices, wherein, for each network slice in the set of network slices, the network slice configuration information includes a corresponding network slice parameter set of the corresponding network slice, the corresponding network slice parameter set including an operation state of the corresponding network slice, a radio resource configuration of the corresponding network slice based on the operation state of the corresponding network slice, and a slice-specific scheduling algorithm of the corresponding network slice; as well as The base station performs slice-aware allocation of frequency domain resources of the radio access network to a set of user equipment associated with the base station based on the network slice configuration information of the set of network slices.