System and method for time-distributed PRB scheduling per network slice
The PRB scheduling method addresses complexity in network slice scheduling by determining PRBs within a window length and enabling/disabling slices based on conditions, achieving efficient resource utilization and compliance with QoS and PFM standards.
Patent Information
- Application Number
- JP2025533010
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-12-27
- Publication Date
- 2026-02-06
AI Technical Summary
Existing PRB scheduling methods for network slices are complex and struggle to meet quality of service (QoS) and proportional fairness (PFM) standards while minimizing bandwidth waste.
A method and system for PRB scheduling that determines the number of PRBs to allocate to slices within a predetermined window length, enabling or disabling slices based on predetermined allocation conditions, and prioritizing slices to achieve proportional fairness and efficient resource utilization.
The solution enables efficient PRB utilization, meets QoS and PFM standards, and reduces computational complexity by using a single-pass scheduler, ensuring slices meet their allocation thresholds.
Smart Images

Figure 2026504660000001_ABST
Abstract
Description
[Technical Field]
[0001] Apparatuses and methods consistent with embodiments of the present disclosure relate to physical resource block (PRB) scheduling for network slices. [Background technology]
[0002] In the related art, PRBs are scheduled to network slices according to a per-slice scheduler. Based on a target (e.g., a ratio of PRB allocation) for a slice, the per-slice scheduling technique is complex, and it is difficult to meet various quality of service (QoS) and proportional fairness (PFM) standards while maintaining minimal waste of bandwidth or PRB resources. Summary of the Invention [Problem to be solved by the invention]
[0003] According to embodiments, systems and methods are provided for physical resource block (PRB) scheduling over a window length for a network slice. [Means for solving the problem]
[0004] According to an aspect of the present disclosure, a method of PRB scheduling may include, for each slot of a plurality of slots within a predetermined window length, determining a number of PRBs to be allocated to a plurality of slices in the predetermined window length; allocating the number of PRBs to at least one of a plurality of slices in one slot of the plurality of slots; determining whether at least one slice of the plurality of slices satisfies at least one predetermined PRB allocation condition; and disabling at least one slice based on determining that the at least one slice satisfies the at least one predetermined PRB allocation condition.
[0005] According to an aspect of the present disclosure, a system for PRB scheduling may include at least one memory storing instructions and at least one processor configured to execute the instructions to: determine, for each slot of a plurality of slots within a predetermined window length, a number of PRBs to be allocated in the predetermined window length to a plurality of slices; allocate the number of PRBs to at least one of a plurality of slices in one of the plurality of slots; determine whether at least one slice of the plurality of slices satisfies at least one predetermined PRB allocation condition; and disable at least one slice based on determining that the at least one slice satisfies the at least one predetermined PRB allocation condition.
[0006] According to aspects of the present disclosure, a non-transitory computer-readable storage medium may store instructions that, when executed by at least one processor, cause the at least one processor to: determine, for each slot of a plurality of slots within a predetermined window length, a number of PRBs to be allocated to a plurality of slices in the predetermined window length; assign the number of PRBs to at least one of a plurality of slices in one of the plurality of slots; determine whether at least one slice of the plurality of slices satisfies at least one predetermined PRB allocation condition; and disable at least one slice based on determining that the at least one slice satisfies the at least one predetermined PRB allocation condition.
[0007] Additional aspects will be set forth in part in the description that follows, and in part will be obvious from the description, or may be realized by practice of presented embodiments of the disclosure. [Brief explanation of the drawings]
[0008] The features, advantages and importance of exemplary embodiments of the present disclosure will be described below with reference to the accompanying drawings, in which like numerals represent like elements.
[0009] FIG. 1 is a flowchart of a method for physical resource block (PRB) scheduling for a network slice according to one embodiment.
[0010] FIG. 2 is a table illustrating an example implementation of slice configurations over a given window length, according to one embodiment.
[0011] FIG. 3 is a flowchart of a method for PRB scheduling according to one embodiment.
[0012] FIG. 4 is a diagram of an example environment in which the systems and / or methods described herein may be implemented.
[0013] FIG. 5 is a diagram of example components of a device, according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0014] The following detailed description of the embodiments refers to the accompanying drawings, in which the same reference numbers in different drawings may identify the same or similar elements.
[0015] The foregoing disclosure provides illustrations and descriptions, but is not intended to be exhaustive or to limit implementations to the precise form disclosed. Modifications and variations are possible in light of the foregoing disclosure or may be acquired from practice of the implementations. Furthermore, one or more features or components of one embodiment may be combined or combined with other embodiments (or one or more features of other embodiments). Additionally, in the flowcharts and operational descriptions provided below, it is understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed concurrently (at least in part), or the order of one or more operations may be rearranged.
[0016] It will be apparent that the systems and / or methods described herein may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specific control hardware or software code used to implement these systems and / or methods is not a limitation of the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code. It will be understood that software and hardware may be designed to implement the systems and / or methods based on the description herein.
[0017] Although particular feature combinations are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. Indeed, many of these features may be combined in ways other than those specifically recited in the claims and / or specifically disclosed in the specification. Although each dependent claim listed below may depend directly on only one claim, the disclosure of possible implementations includes each dependent claim in combination with all other claims in the claim group.
[0018] No element, act, or instruction used herein should be construed as critical or required unless explicitly stated otherwise. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Where only one item is intended, the term "one" or similar words are used. Also, as used herein, the terms "has," "have," "having," "include," "including," etc. are intended to be open-ended terms. Furthermore, the phrase "based on" is intended to mean "based, at least in part, on," unless expressly stated otherwise. Furthermore, phrases such as "at least one of A and B" or "at least one of A or B" are understood to include A only, B only, or both A and B.
[0019] Embodiments of the present disclosure provide a method and system for physical resource block (PRB) scheduling, in which the system may determine, for each slot of a plurality of slots within a predetermined window length, a number of PRBs to be allocated to a plurality of slices in the predetermined window length, allocate the number of PRBs to at least one of a plurality of slices in one of the plurality of slots, determine whether a slice of the plurality of slices satisfies at least one predetermined PRB allocation condition, and disable the slice based on determining that the slice satisfies the at least one predetermined PRB allocation condition.
[0020] When determining the at least one predetermined PRB allocation condition, the system may determine whether a maximum PRB allocation threshold for the slice has been reached, whether a first dedicated PRB allocation threshold for the slice has been reached, whether the remaining number of PRBs to be allocated within a predetermined window length is less than a second dedicated PRB allocation threshold for the remaining slices of the plurality of slices different from the slice, or whether a first minimum PRB allocation threshold for the slice has been reached, whether a second minimum PRB allocation threshold for the remaining slices of the plurality of slices different from the slice has been reached.
[0021] In this manner, the systems and methods may be implemented as a single-pass scheduler rather than a per-slice scheduler. To avoid network slice scheduling failures (e.g., per-slice scheduler failures) and the complexity of dealing with multiple iterations for a user equipment (UE), the provided systems and methods may schedule PRBs per slice over a predetermined period instead of meeting targets for all slots. In this manner, a single-pass scheduler with lower computational complexity may simultaneously achieve higher PRB utilization, meet proportional fairness metric (PFM) compliance, and perform better and more efficiently to achieve slicing thresholds. The provided systems and methods may make decisions to enable a slice at the start of a slot based on PRB statistics collected over a configuration window (e.g., a predetermined window length, a predetermined length of time), and may process a particular UE or bearer from the PFM list only if the corresponding slice is enabled for slot scheduling. If a target (e.g., allocation ratio) for a particular slice is met, the system may lower the priority of that slice until other slices meet their corresponding targets.
[0022] Network slicing may represent a feature that allows for different layering and different network flows. The system may partition resources based on the requirements of each layer. Furthermore, different users may be grouped into different slices, and different services may be provided based on the slicing (i.e., partitioning bandwidth resources). Slicing may allocate bandwidth to users in the network (further scheduling of bandwidth). Slicing at Layer 2 specifies the allocation of PRBs to each slice, and PRBs may be allocated per time unit.
[0023] For radio resource partitioning of slices, radio resource management (RRM) policy inputs defined for each slice by 3GPP (3rd generation partnership project) may include a dedicated PRB allocation ratio (e.g., a dedicated PRB allocation threshold), a minimum PRB allocation ratio (e.g., a minimum PRB allocation threshold), and a maximum PRB allocation ratio (e.g., a maximum PRB allocation threshold).
[0024] The dedicated PRB allocation ratio may specify the percentage of the network slice dedicated to resources for the network slice, such that other slices cannot utilize the dedicated resource. That is, other slices should not be allocated the dedicated bandwidth. The sum of the dedicated PRB allocation ratios for each slice may be less than or equal to 100%. The minimum PRB allocation ratio may specify the minimum percentage of PRBs to be received for a particular slice. In some embodiments, a scheduler (e.g., a distributed unit of a base station) may be configured to prioritize slices such that the minimum PRB allocation ratio is achieved for each slice. The maximum PRB allocation ratio may specify the maximum cutoff percentage of PRBs to be allocated for a network slice.
[0025] The dedicated, minimum, and maximum PRB allocation ratios may be specified by the network and / or may be dynamically changed during operation. Furthermore, the dedicated, minimum, and maximum PRB allocation ratios may vary for each slice in a slot, as described in more detail below.
[0026] FIG. 1 is a flowchart of a method for PRB scheduling for a network slice according to one embodiment. In operation 102, the system may define a predetermined window length. Unlike related art methods that schedule PRBs per slot without considering earlier or later scheduling in other slots, a system according to an embodiment may define a predetermined window length (e.g., a length of time) that includes multiple slots, where each slot corresponds to a PRB scheduling entry for the number of network slices configured for the network. For example, the window length may be defined as 10 slots, and each slot may be configured for scheduling 100 PRBs. Thus, in the above example, the window length is defined such that scheduling of 1000 PRBs may be considered for each slot, as described in more detail below.
[0027] In operation 104, the system may determine the number of PRBs to be allocated for each slot over a given window length according to a slice configuration. The slice configuration for each slot may include multiple slices. One embodiment is described with respect to Table 1, although other slice configurations may be implemented as will be understood by those skilled in the art from the disclosure herein. [Table 1]
[0028] As shown in Table 1, a system may be configured with four slices (slices S1-S4). Slice S1 may include a minimum PRB allocation ratio of 10%, a dedicated PRB allocation ratio of 5%, and a maximum PRB allocation ratio of 60%. Slice S2 may include a minimum PRB allocation ratio of 20%, a dedicated PRB allocation ratio of 10%, and a maximum PRB allocation ratio of 80%. Slice S3 may include a minimum PRB allocation ratio of 40%, a dedicated PRB allocation ratio of 30%, and a maximum PRB allocation ratio of 100%. Slice S4 may include a minimum PRB allocation ratio of 30%, a dedicated PRB allocation ratio of 0%, and a maximum PRB allocation ratio of 100%.
[0029] In an embodiment, over a given window of 10 slots, the system may allocate 1000 PRBs with 100 PRBs per slot. Thus, the system may determine for each slot the minimum number of PRBs to be allocated, the dedicated number of PRBs to be allocated, and the maximum number of PRBs to be allocated based on the number of PRBs to be scheduled over the given time window, as shown in Table 2. [Table 2]
[0030] In operation 106, the system may allocate a number of PRBs for the slot. The number of PRBs may correspond to the number of PRBs the slot is configured for scheduling. That is, in operation 106 in the above example, the system may allocate 100 PRBs for the slot. The system may allocate PRBs based on a predetermined allocation distribution and / or a random allocation distribution. An example illustrating PRB allocation per slot is described with reference to FIG. 2.
[0031] Operations 108, 110, and 112 represent multiple predetermined PRB allocation conditions that the system may use to determine whether to disable or enable a slice (or determine that a slice should remain enabled). The system may decide to disable / enable a slice based on one of the predetermined PRB allocation conditions, multiple of the predetermined PRB allocation conditions, or all of the predetermined PRB allocation conditions. Furthermore, the system may perform operations 108, 110, and 112 in any order, and any of operations 108, 110, and 112 may be omitted. Furthermore, although operations 108, 110, and 112 are described with respect to a single slice, each of the determinations of operations 108, 110, and 112 may be performed for each slice in each slot, as shown in the embodiment described with reference to FIG. 2.
[0032] In operation 108, the system may determine whether a maximum PRB allocation threshold for the slice has been reached. For example, with reference to Tables 1 and 2, for slice S1, the maximum PRB allocation ratio is 60%, and for a given window length in the example, the maximum number of PRBs to be scheduled for slice S1 (e.g., the maximum PRB allocation threshold) is 600. Thus, the system may determine whether 600 or more PRBs have been scheduled for slice S1 during the given window length. Based on determining that the maximum PRB allocation threshold for the slice has been reached, in operation 114, the system may disable the slice. Based on determining that the maximum PRB allocation threshold for the slice has not been reached, the system may proceed to operation 110, or in some embodiments, the system may terminate the process.
[0033] In operation 110, the system may determine whether a dedicated PRB allocation threshold for the slice is met, or may determine whether the remaining number of PRBs to be scheduled in the window is less than the dedicated PRB allocation threshold for the remaining slices. Although operation 110 is shown as a single operation, multiple determinations may be made, and operation 110 may be split. That is, the system may make separate determinations as to whether the dedicated PRB allocation threshold for the slice is met, or may terminate the process if the dedicated PRB allocation threshold for the slice is not met.
[0034] Referring to Tables 1 and 2, in an example for slice S1, the system may determine whether the number of PRBs allocated to slice S1 has reached 50 PRBs, since 50 PRBs corresponds to the dedicated PRB allocation threshold. Based on determining that the dedicated PRB allocation threshold for slice S1 has been reached, the system may determine whether the remaining number of PRBs to be allocated within a predetermined window length is less than the dedicated PRB allocation thresholds for the remaining slices S2-S4. In an example, the system may determine whether the remaining number of PRBs to be scheduled in a predetermined window length is less than 100 PRBs (slice S2) + 300 PRBs (slice S3) + 0 PRBs (slice S4). If the remaining number of PRBs to be allocated within a predetermined window length is less than the dedicated PRB allocation thresholds for the remaining slices S2-S4, the system may disable slice S1. If not, the system may proceed to operation 112, or alternatively, the system may end the process.
[0035] In operation 112, the system may determine whether a minimum PRB allocation threshold for the slice has been reached, and may determine whether minimum PRB allocation thresholds for the remaining slices have been reached. While operation 112 is shown as a single operation, multiple determinations may be made, and operation 112 may be divided. With reference to Tables 1 and 2, the system may determine whether a minimum number of PRBs to be scheduled over a window have been scheduled in slice S1. That is, in an embodiment, the system may determine whether 100 PRBs have been scheduled for slice S1. If the minimum PRB allocation threshold for slice S1 has not been reached, the system may terminate the process. If the minimum PRB allocation threshold for slice S1 has been reached, the system may determine whether minimum PRB allocation thresholds for the remaining slices S2-S4 have been reached. That is, the system may determine whether 200 PRBs have been scheduled in slice S2, 400 PRBs have been scheduled in slice S3, and / or 300 PRBs have been scheduled in slice S4. If the system determines that the minimum PRB allocation threshold for all slices S2-S4 has not been reached, the system may decide to disable slice S1. Alternatively, the system may decide to disable slice S1 if the minimum PRB allocation threshold for any number of slices S2-S4 has not been reached. If the system determines that all slices have met their minimum PRB allocation thresholds, the system may decide to enable slice S1, or may decide that slice S1 should remain enabled.
[0036] In the above operations 108, 110, and 112, a reference to a terminating process may indicate that the system determines that the network slice should be enabled or that an enabled network slice should remain enabled for the next slot. Further, the operations of FIG. 1 may be performed for each slot of a plurality of slots corresponding to a predetermined window length.
[0037] If it is determined that a slice should be enabled, or if it is determined that an enabled slice should remain enabled, the system may select users with enabled slices for PRB allocation. If a slice is disabled, UEs corresponding to the disabled slice may be skipped or omitted. Short listing of UEs may occur based on a desired scheduling policy (e.g., based on proportional fairness, highest throughput, round robin). Based on the scheduling policy, there may be a prioritized UE list formed based on which scheduling short listing occurs. UEs or bears from the prioritized list may not be selected for scheduling if the system determines to disable the corresponding slice.
[0038] FIG. 2 is a table illustrating an example implementation of a slice configuration over a predetermined window length, according to one embodiment. FIG. 2 illustrates an example in which the slice configurations of Tables 1 and 2 are implemented over a window length of 10 slots, with 100 PRBs assigned to each slot. Table 2 shows the number of PRBs assigned to each slice in each slot; for each slice in each slot, the minimum number of PRBs over the predetermined window length, the number of dedicated PRBs over the predetermined window length, and the adjustment of the number of remaining PRBs relative to the maximum number of PRBs over the predetermined window length; the minimum number of PRBs for the remaining slices relative to the identified slice (e.g., in row 1, a minimum number of PRBs of 900 corresponds to the minimum number of PRBs for slices S2-S4 in slot 1); and the number of dedicated PRBs for the remaining slices relative to the identified slice. FIG. 2 also illustrates the results of operations 108, 110, and 112 performed for each slice in each slot. Finally, FIG. 2 shows whether the slice is disabled or enabled after the determination of operations 108, 110, and 112.
[0039] As shown in FIG. 2 , as PRBs are distributed, changes in PRB requirements are tracked, and the determinations of operations 108, 110, and 112 are performed. In slot 3, network slice S1 reaches its minimum PRB allocation threshold of 100 PRBs, while the remaining slices S2-S4 do not reach their respective minimum PRB allocation thresholds. Therefore, the determination of operation 112 returns "TRUE," and the system decides to disable network slice S1. PRBs continue to be assigned to slices S2-S4. In slot 7, network slice S2 reaches its minimum PRB allocation threshold of 200 PRBs, while the remaining slices S3-S4 do not reach their respective minimum PRB allocation thresholds. Therefore, the determination of operation 112 returns "TRUE," and the system decides to disable network slice S2. Table 3 shows the results of the example of FIG. 2 , where the actual achieved minimum PRB allocation is compared to the predetermined minimum PRB allocation ratio. [Table 3]
[0040] FIG. 3 is a flowchart of a method for PRB scheduling according to one embodiment. In operation 302, the system may determine, for each slot of a plurality of slots within a predetermined window length, the number of PRBs to be allocated to a plurality of slices in the predetermined window length. In operation 304, the system may allocate the number of PRBs to at least one of a plurality of slices in one of the plurality of slots. In operation 306, the system may determine whether at least one slice of the plurality of slices satisfies at least one predetermined PRB allocation condition. In operation 308, the system may disable at least one slice based on determining that at least one slice satisfies the at least one predetermined PRB allocation condition. In operation 310, the system may determine to enable at least one slice or to leave at least one slice enabled based on determining that at least one slice does not satisfy the at least one predetermined PRB allocation condition.
[0041] In accordance with the systems and methods provided herein, as PRBs are assigned across slots in a given window length, slices that receive the majority of scheduling first during the given window length are deprioritized, and slices that were deprioritized earlier receive more PRBs to more reliably achieve the minimum PRB allocation threshold closer to the parameters defined for the system.
[0042] 4 is a diagram of an example environment 400 in which the systems and / or methods described herein may be implemented. As shown in FIG. 4, environment 400 may include a user device 410, a platform 420, and a network 430. The devices of environment 400 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections. In an embodiment, any of the functions and operations described above with reference to FIG. 1 may be performed by any combination of elements illustrated in FIG. 4.
[0043] User device 410 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information related to platform 420. For example, user device 410 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smartphone, a wireless phone, etc.), a wearable device (e.g., smart glasses or a smart watch), or a similar device. In some implementations, user device 410 may receive information from platform 420 and / or send information to platform 420.
[0044] Platform 420 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information. In some implementations, platform 420 may include a cloud server or a group of cloud servers. In some implementations, platform 420 may be designed to be modular, such that particular software components may be swapped in or out depending on particular needs. In this manner, platform 420 may be easily and / or quickly reconfigured for different uses.
[0045] In some implementations, as shown, platform 420 may be hosted in a cloud computing environment 422. Note that although the implementations described herein describe platform 420 as being hosted in a cloud computing environment 422, in some implementations platform 420 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.
[0046] Cloud computing environment 422 includes an environment that hosts platform 420. Cloud computing environment 422 may provide services such as computation, software, data access, storage, etc., that do not require end-user (e.g., user device 410) knowledge of the physical location and configuration of the systems and / or devices that host platform 420. As shown, cloud computing environment 422 may include a group of computing resources 424 (collectively referred to as “computing resources 424” and individually referred to as “computing resource 424”).
[0047] Computing resources 424 include one or more personal computers, clusters of computing devices, workstation computers, server devices, or other types of computation and / or communication devices. In some implementations, computing resources 424 may host platform 420. Cloud resources may include compute instances executing on computing resources 424, storage devices provided on computing resources 424, data transfer devices provided by computing resources 424, etc. In some implementations, computing resources 424 may communicate with other computing resources 424 via wired connections, wireless connections, or a combination of wired and wireless connections.
[0048] As further shown in FIG. 4, computing resources 424 include a group of cloud resources such as one or more applications (“APP”) 424-1, one or more virtual machines (“VM”) 424-2, virtualized storage (“VS”) 424-3, and one or more hypervisors (“HYP”) 424-4.
[0049] Applications 424-1 include one or more software applications that may be provided to or accessed by user device 410. Applications 424-1 may obviate the need to install and run software applications on user device 410. For example, applications 424-1 may include software associated with platform 420 and / or any other software that may be provided via cloud computing environment 422. In some implementations, one application 424-1 may send and receive information to one or more other applications 424-1 via virtual machine 424-2.
[0050] Virtual machine 424-2 includes a software implementation of a device (e.g., a computer) that executes programs like a physical device. Virtual machine 424-2 may be a system virtual machine or a process virtual machine, depending on the use by virtual machine 424-2 and the degree of correspondence with any real-world device. A system virtual machine may provide a complete system platform that supports the execution of a complete operating system (“OS”). A process virtual machine may execute a single program or support a single process. In some implementations, virtual machine 424-2 may execute on behalf of a user (e.g., user device 410) and manage the infrastructure of cloud computing environment 422, such as data management, synchronization, or long-term data transfer.
[0051] Virtualized storage 424-3 includes one or more storage systems and / or one or more devices or computing resources 424 that use virtualization technology within a storage system. In some implementations, within the context of a storage system, types of virtualization may include block virtualization and file virtualization. Block virtualization may represent the abstraction (or separation) of logical storage from physical storage so that the storage system may be accessed without consideration of the physical storage or heterogeneous structure. The separation may provide storage system administrators with flexibility in managing storage for end users. File virtualization may remove the dependency between data accessed at the file level and where the file is physically stored. This may enable storage usage optimization, server consolidation, and / or non-disruptive file migration performance.
[0052] Hypervisor 424-4 may provide hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to run simultaneously on a host computer, such as computing resource 424. Hypervisor 424-4 may present a virtual operating platform to the guest operating systems and may manage the execution of the guest operating systems. Multiple instances of different operating systems may share virtualized hardware resources.
[0053] Network 430 may include one or more wired and / or wireless networks. For example, network 430 may include a cellular network (e.g., a fifth-generation (5G) network, a long-term evolution (LTE) network, a third-generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN), a private network, an ad hoc network, an intranet, the Internet, an optical fiber-based network, etc.), and / or a combination of these or other types of networks.
[0054] The number and arrangement of devices and networks shown in Figure 4 are provided as an example. In practice, there may be additional, fewer, different, or differently arranged devices and / or networks than those shown in Figure 4. Furthermore, two or more devices shown in Figure 4 may be implemented within a single device, and a single device shown in Figure 4 may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices in environment 400 (e.g., one or more devices) may perform one or more functions that are described as being performed by other sets of devices in environment 400.
[0055] 5 is a diagram of example components of a device 500. The device 500 may correspond to a user device 410 and / or a platform 420. As shown in FIG. 5, the device 500 may include a bus 510, a processor 520, a memory 530, a storage component 540, an input component 550, an output component 560, and a communication interface 570.
[0056] The bus 510 includes components that enable communication between the components of the device 500. The processor 520 may be implemented in hardware, firmware, or a combination of hardware and software. The processor 520 may be a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or other type of processing component. In some implementations, the processor 520 includes one or more processors that are programmable to perform functions. The memory 530 includes random access memory (RAM), read-only memory (ROM), and / or other types of dynamic or static storage devices (e.g., flash memory, magnetic memory, and / or optical memory) that store information and / or instructions for use by the processor 520.
[0057] The storage component 540 stores information and / or software related to the operation and use of the device 500. For example, the storage component 540 may include a hard disk (e.g., a magnetic disk, optical disk, magneto-optical disk, and / or solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and / or other type of non-transitory computer-readable medium, along with a corresponding drive. The input component 550 includes components that enable the device 500 to receive information, such as via user input (e.g., a touchscreen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone). Additionally or alternatively, the input component 550 may include sensors for measuring information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator). The output component 560 includes components that provide output information from the device 500 (e.g., a display, a speaker, and / or one or more light-emitting diodes (LEDs)).
[0058] The communication interface 570 includes transceiver-like components (e.g., a transceiver and / or a separate receiver and transmitter) that allow the device 500 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 570 allows the device 500 to receive information from and / or provide information to other devices. For example, the communication interface 570 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.
[0059] Device 500 may perform one or more processes described herein. Device 500 may perform these processes in response to processor 520 executing software instructions stored by a non-transitory computer-readable medium, such as memory 530 and / or storage component 540. The computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space distributed across multiple physical storage devices.
[0060] The software instructions may be loaded into memory 530 and / or storage component 540 from other computer-readable media or other devices via communication interface 570. When executed, the software instructions stored in memory 530 and / or storage component 540 may cause processor 520 to perform one or more of the processes described herein.
[0061] Additionally or alternatively, hardwired circuitry may be used in place of, or in combination with, software instructions to implement one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0062] The number and arrangement of components shown in Figure 5 are provided as an example. In practice, device 500 may include additional, fewer, different, or differently arranged components than those shown in Figure 5. Additionally or alternatively, a set of components (e.g., one or more components) of device 500 may perform one or more functions that are described as being performed by other sets of components of device 500.
[0063] In embodiments, any of the operations or processes of FIGS. 1-3 may be implemented by or using any of the elements illustrated in FIGS.
[0064] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementations to the precise form disclosed. Modifications and variations are possible in light of the foregoing disclosure or may be acquired from practice of the implementations.
[0065] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of technical detail of integration. Furthermore, one or more of the above-described components may be implemented as instructions stored on a computer-readable medium and executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include a computer-readable non-transitory storage medium (or medium) having computer-readable program instructions stored thereon for causing a processor to perform operations.
[0066] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, punch cards, or mechanically encoded devices such as raised structures in grooves in which instructions are recorded, or any suitable combination thereof. As used herein, computer-readable storage medium is not to be understood as a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted over a wire.
[0067] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium into each computing / processing device, or may be downloaded to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.
[0068] The computer-readable program code / instructions for carrying out operations may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk or C++, procedural programming languages such as the "C" programming language, or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server, as a standalone software package. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry to perform a certain aspect or operation.
[0069] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce an apparatus, such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, produce means for implementing the functions / acts set forth in the flowcharts and / or block diagrams (one or more blocks). These computer-readable program instructions may be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored comprises an article including instructions that implement aspects of the functions / acts set forth in the flowcharts and / or block diagrams (one or more blocks).
[0070] The computer-readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other device such that a series of operational steps are performed on the computer, other programmable apparatus, or other device to generate a computer-implemented process such that the instructions, executed on the computer, other programmable apparatus, or other device, implement the functions / acts described in the flowcharts and / or block diagrams (one or more blocks).
[0071] The illustrated flowcharts and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. Each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, comprising one or more executable instructions for implementing specific logical functions. The method, computer system, or computer-readable medium may include additional, fewer, different, or differently arranged blocks than those shown in the figures. In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may actually be executed concurrently or substantially concurrently, depending on the functionality involved, or the blocks may be executed in the reverse order. Note that each block of the block diagram and / or flowchart illustrations, or combinations of blocks in the block diagram and / or flowchart illustrations, may be implemented by a dedicated hardware-based system performing specific functions or acts, or by executing a combination of dedicated hardware and computer instructions.
[0072] It will be apparent that the systems and / or methods described herein may be implemented in different forms, such as hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation. As such, the operation and behavior of the systems and / or methods are described herein without reference to specific software code. It will be understood that software and hardware may be designed to implement the systems and / or methods based on the description herein.
Claims
1. 1. A method for physical resource block (PRB) scheduling, comprising: For each slot of a plurality of slots within a predetermined window length, determining a number of PRBs to be allocated in the predetermined window length for a plurality of slices; Allocating the number of PRBs to at least one of the slices in one of the slots; determining whether at least one slice of the plurality of slices satisfies at least one predetermined PRB allocation condition; Disabling the at least one slice based on determining that the at least one slice satisfies the at least one predetermined PRB allocation condition; A method for providing the above.
2. determining whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition comprises determining whether a maximum PRB allocation threshold for the at least one slice has been reached; Disabling the at least one slice is performed based on determining that the maximum PRB allocation threshold for the at least one slice has been reached. The method of claim 1.
3. determining whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition comprises determining whether a first dedicated PRB allocation threshold for the at least one slice has been reached; Disabling the at least one slice is performed based on determining that the first dedicated PRB allocation threshold for the at least one slice has been reached. The method of claim 1.
4. determining whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition further comprises: determining, based on determining that the first dedicated PRB allocation threshold for the at least one slice has been reached, whether a remaining number of PRBs to be allocated within the predetermined window length is less than a second dedicated PRB allocation threshold for remaining slices of the plurality of slices different from the at least one slice; Disabling the at least one slice is further performed based on determining that the remaining number of PRBs to be allocated within the predetermined window length is less than the second dedicated PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice. The method of claim 3.
5. determining whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition comprises determining whether a first minimum PRB allocation threshold for the at least one slice has been reached; Disabling the at least one slice is performed based on determining that the first minimum PRB allocation threshold for the at least one slice has been reached. The method of claim 1.
6. determining whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition further comprises determining whether a second minimum PRB allocation threshold has been reached for the remaining slices of the plurality of slices that are different from the at least one slice; Disabling the at least one slice is further performed based on determining that the second minimum PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice has not been reached. The method of claim 5.
7. 2. The method of claim 1, further comprising: determining to enable the at least one slice or determining that the at least one slice should remain enabled based on determining that the at least one slice does not satisfy the at least one predetermined PRB allocation condition.
8. The at least one predetermined PRB allocation condition is: a first condition that a maximum PRB allocation threshold for the at least one slice has been reached; a second condition that a first dedicated PRB allocation threshold for the at least one slice is reached and the remaining number of PRBs to be allocated within the predetermined window length is less than a second dedicated PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice; a third condition that a first minimum PRB allocation threshold for the at least one slice is reached and a second minimum PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice is not reached; At least one of The method of claim 7.
9. The at least one predetermined PRB allocation condition is: a first condition that a maximum PRB allocation threshold for the at least one slice has been reached; a second condition that a first dedicated PRB allocation threshold for the at least one slice is reached and the remaining number of PRBs to be allocated within the predetermined window length is less than a second dedicated PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice; a third condition that a first minimum PRB allocation threshold for the at least one slice is reached and a second minimum PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice is not reached; Each of the following is provided: The method of claim 7.
10. 1. A system for physical resource block (PRB) scheduling, comprising: at least one memory storing instructions; For each slot of a plurality of slots within a predetermined window length, determining a number of PRBs to be allocated in the predetermined window length for a plurality of slices; Allocating the number of PRBs to at least one of the slices in one of the slots; determining whether at least one slice of the plurality of slices satisfies at least one predetermined PRB allocation condition; Disabling the at least one slice based on determining that the at least one slice satisfies the at least one predetermined PRB allocation condition; at least one processor configured to execute the instructions to perform the A system comprising:
11. the at least one processor is configured to execute the instructions to determine whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition by determining whether a maximum PRB allocation threshold for the at least one slice has been reached; the at least one processor is configured to execute the instructions to: disable the at least one slice based on determining that the maximum PRB allocation threshold for the at least one slice has been reached. The system of claim 10.
12. the at least one processor is configured to execute the instructions to determine whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition by determining whether a first dedicated PRB allocation threshold for the at least one slice has been reached; the at least one processor is configured to execute the instructions to disable the at least one slice based on determining that the first dedicated PRB allocation threshold for the at least one slice has been reached. The system of claim 10.
13. the at least one processor is configured to execute the instructions to further determine, based on determining that the first dedicated PRB allocation threshold for the at least one slice has been reached, whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition by determining whether a remaining number of PRBs to be allocated within the predetermined window length is less than a second dedicated PRB allocation threshold for a remaining slice of the plurality of slices different from the at least one slice; The at least one processor is configured to execute the instructions to further disable the at least one slice based on determining that a remaining number of the PRBs to be allocated within the predetermined window length is less than the second dedicated PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice. The system of claim 12.
14. the at least one processor is configured to execute the instructions to determine whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition by determining whether a first minimum PRB allocation threshold for the at least one slice has been reached; the at least one processor is configured to execute the instructions to: disable the at least one slice based on determining that the first minimum PRB allocation threshold for the at least one slice has been reached. The system of claim 10.
15. the at least one processor is configured to execute the instructions to further determine whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition by determining whether a second minimum PRB allocation threshold for remaining slices of the plurality of slices different from the at least one slice has been reached; The at least one processor is configured to execute the instructions to further disable the at least one slice based on determining that the second minimum PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice has not been reached. The system of claim 14.
16. 11. The system of claim 10, wherein the at least one processor is configured to execute the instructions to determine to enable the at least one slice or to determine that the at least one slice should remain enabled based on determining that the at least one slice does not satisfy the at least one predetermined PRB allocation condition.
17. The at least one predetermined PRB allocation condition is: a first condition that a maximum PRB allocation threshold for the at least one slice has been reached; a second condition that a first dedicated PRB allocation threshold for the at least one slice is reached and the remaining number of PRBs to be allocated within the predetermined window length is less than a second dedicated PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice; a third condition that a first minimum PRB allocation threshold for the at least one slice is reached and a second minimum PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice is not reached; At least one of 17. The system of claim 16.
18. The at least one predetermined PRB allocation condition is: a first condition that a maximum PRB allocation threshold for the at least one slice has been reached; a second condition that a first dedicated PRB allocation threshold for the at least one slice is reached and the remaining number of PRBs to be allocated within the predetermined window length is less than a second dedicated PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice; a third condition that a first minimum PRB allocation threshold for the at least one slice is reached and a second minimum PRB allocation threshold for the remaining slices of the plurality of slices different from the at least one slice is not reached; Each of the following is provided:
17. The system of claim 16.
19. When executed by at least one processor, For each slot of a plurality of slots within a predetermined window length, determining a number of physical resource blocks (PRBs) to be allocated in the predetermined window length for a plurality of slices; Allocating the number of PRBs to at least one of the slices in one of the slots; determining whether at least one slice of the plurality of slices satisfies at least one predetermined PRB allocation condition; Disabling the at least one slice based on determining that the at least one slice satisfies the at least one predetermined PRB allocation condition; a non-transitory computer-readable storage medium storing instructions for causing the at least one processor to execute the
20. The instructions, when executed by the at least one processor, cause the at least one processor to determine whether the at least one slice of the plurality of slices satisfies the at least one predetermined PRB allocation condition by determining whether a maximum PRB allocation threshold for the at least one slice has been reached; The instructions, when executed by the at least one processor, further cause the at least one processor to disable the at least one slice based on determining that the maximum PRB allocation threshold for the at least one slice has been reached.
20. The storage medium of claim 19.
Citation Information
Patent Citations
Slicing architecture for wireless communication
US20170079059A1
Methods and apparatuses for network slice minimum and maximum resource quotas
WO2020088802A1