WO2023204399A1 - 네트워크 스케줄링 장치 및 방법 - Google Patents
네트워크 스케줄링 장치 및 방법 Download PDFInfo
- Publication number
- WO2023204399A1 WO2023204399A1 PCT/KR2023/001386 KR2023001386W WO2023204399A1 WO 2023204399 A1 WO2023204399 A1 WO 2023204399A1 KR 2023001386 W KR2023001386 W KR 2023001386W WO 2023204399 A1 WO2023204399 A1 WO 2023204399A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- neural network
- tti
- compensation value
- network
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1263—Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/54—Allocation or scheduling criteria for wireless resources based on quality criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/54—Allocation or scheduling criteria for wireless resources based on quality criteria
- H04W72/543—Allocation or scheduling criteria for wireless resources based on quality criteria based on requested quality, e.g. QoS
Definitions
- the embodiments below relate to network scheduling technology.
- the UE scheduler of the base station attempts scheduling by allocating time and frequency resources to a specific number of UEs included in the cell. Resources are divided into certain units and defined as RB (resource block), which is the minimum unit of data used in the scheduling process.
- RB resource block
- the base station performs scheduling with the goal of allocating RB while maximizing throughput and ensuring fairness among UEs.
- a scheduling device includes a processor and a memory that stores instructions to be executed by the processor, and when the instructions are executed by the processor, the processor executes a transmission time interval. , TTI), an operation of determining whether the set conditions are satisfied, if the set conditions are satisfied, the network status of the current TTI at every TTI until the set TTI elapses, the scheduler type selected in the network status of the current TTI, An operation of storing a data array including a network state of the next TTI and an actual compensation value for the network state of the current TTI in the memory, and generating a first neural network based on at least one data array among the data arrays stored in the memory.
- An operation of updating the parameters of, if the set condition is not satisfied, an operation of inputting the state of the network of the current TTI to the first neural network, and the first neural network based on the input state of the network of the current TTI can be performed using the output of .
- a scheduling method includes the operation of determining whether a set condition regarding a transmission time interval (TTI) has been satisfied, and if the set condition is satisfied, the current time interval (TTI) for each TTI until the set TTI has elapsed.
- TTI transmission time interval
- FIG. 1 is a diagram for explaining operations performed by a scheduling device according to an embodiment.
- FIG. 2 is a diagram for explaining a network state processing operation performed by a scheduling device according to an embodiment.
- FIG. 3 is a diagram illustrating a data array stored in a memory buffer of a scheduling device according to an embodiment.
- FIG. 4 is a diagram illustrating a method of updating parameters of a policy neural network according to an embodiment.
- 5 and 6 are flowcharts of a scheduling method according to one embodiment.
- Figure 7 is a block diagram of a scheduling device according to an embodiment.
- FIG. 1 is a diagram for explaining operations performed by a scheduling device according to an embodiment.
- the scheduler of the base station attempts scheduling by allocating time and frequency resources to a specific number of terminals included in a cell.
- Various schedulers can be used for scheduling. Since the time and frequency resources that can be allocated to terminals are limited, the quality of network service for each terminal may vary depending on the type of scheduler used for scheduling.
- a scheduling device e.g., the scheduling device 700 of FIG. 7 and method according to an embodiment uses neural network-based reinforcement learning to reflect the quality of service of each terminal in real time when scheduling a network, and creates a scheduler to be used for scheduling. You can select .
- the scheduling device and method according to an embodiment can track the quality of service of a network at every transmission time interval (TTI) of a data packet and improve the quality of service by selecting a new scheduler.
- TTI transmission time interval
- FIG. 1 a process in which a scheduling device selects a scheduler based on a current network state is shown.
- the scheduling device may select a scheduler based on the network state 105 of the current TTI (hereinafter referred to as 'current network state'), and the network state 135 of the next TTI (hereinafter referred to as 'next network state') may be determined by the selected scheduler. can be decided.
- the scheduling device may select one of various schedulers.
- the scheduling device includes an MT (maximum throughput) scheduler that maximizes the throughput of the entire network, a BET (blind equal throughput) scheduler that provides the same throughput to all terminals, and a PF that aims to balance throughput and fairness. You can select one of various schedulers, such as the (proportional fair) scheduler.
- the scheduling device can track network status processing operations that change at every TTI and analyze the network status.
- the scheduling device may distinguish network states (e.g., current network state 105 and next network state 135) into controllable states and uncontrollable states.
- the controllable state is a state that changes as the scheduler used for scheduling changes and may include packet transmission time (packet delay), packet transmission amount (also called 'throughput'), and packet loss rate (PLR).
- the uncontrollable state is a state that varies regardless of the scheduler used for scheduling and may include the number of terminals, the type of application running on the terminal, and the channel status.
- the controllable state can be used to calculate the actual reward value for training of the policy neural network 120. Operation 110 is further described below with reference to FIG. 2 .
- the scheduling device may perform an operation 130 of selecting a scheduler for each TTI.
- the scheduling device may be set to one of the operation modes of an exploration mode in which a policy neural network is learned and an exploitation mode in which a scheduler is selected using the learned policy neural network, and the scheduler is configured to operate the scheduling device. It may be selected differently depending on the mode.
- the scheduling device can select a random scheduler among several types of schedulers.
- the next network state 135 may be determined by the selected scheduler.
- the scheduling device may select a scheduler that can obtain the maximum compensation value for the current network state 105.
- the scheduling device again in operation 110, may determine an actual compensation value based on scheduler selection.
- the actual compensation value may be determined based on the quality of service value determined for each communication terminal belonging to the network.
- the scheduling device stores a data array containing the current network state, the scheduler type selected in the current network state 105, the next network state 135, and the actual compensation value by scheduler selection in the memory buffer 115 (e.g., the memory in FIG. 7). (700)). Data stored in the memory buffer 115 may be transferred to the policy neural network 120 and used to update the parameters of the policy neural network 120.
- the policy neural network 120 may include an input layer, a hidden layer, and an output layer.
- the hidden layer can be implemented using either a linear function or a non-linear function. Parameters of the policy neural network 120 may be initialized to arbitrary values.
- the policy neural network 120 may receive network status and scheduler type as input and output a predicted estimated compensation value.
- the target neural network 125 is set to have the same parameters as the policy neural network 120, and can output the maximum reward value predicted when the optimal scheduler is selected for the network state in the next TTI of the corresponding TTI.
- the scheduling device may periodically adjust the parameters of the target neural network 125 to be the same as the parameters of the policy neural network 120.
- the policy neural network 120 can receive only the network state of the current TTI, and the scheduling device can select a scheduler using the output of the policy neural network 120 in operation 130.
- FIG. 2 is a diagram for explaining a network state processing operation performed by a scheduling device according to an embodiment.
- the scheduling device performs a network state processing operation 110 to divide network states (e.g., current network state 105 and next network state 135) into controllable state 210 and uncontrollable state 205. ) can be distinguished.
- network states e.g., current network state 105 and next network state 135.
- the controllable state 210 is a state that changes as the scheduler used for scheduling changes and may include packet transmission time, packet transmission amount, and packet loss rate.
- Packet transmission time may refer to the time it takes for a data packet transmitted from the base station to reach the terminal.
- Packet transmission amount may refer to the amount of packets transmitted based on 1 second (1000 TTI).
- Packet loss rate may refer to the amount of data packets not received by the terminal compared to the total amount of transmitted data packets.
- the scheduling device may determine a quality of service (QoS) value 225 for each terminal for all scheduled terminals based on a decision criterion 215 for determining the quality of service value.
- Decision criteria 215 may include conditions for the controllable state 210 .
- the decision criteria 215 may include conditions for packet transmission time, conditions for packet transmission amount, and conditions for packet loss rate.
- the scheduling device may determine whether conditions for packet transmission time, conditions for packet transmission amount, and conditions for packet loss rate are satisfied, and determine the number of satisfied conditions as the quality of service value 225 of the corresponding terminal.
- the quality of service value is determined to be 1/3, and if the conditions for packet transmission time and packet transmission amount are satisfied, the quality of service value is determined to be 2/3. , and if the conditions for packet transmission time, conditions for packet transmission amount, and conditions for packet loss rate are all satisfied, the quality of service value can be determined to be 1.
- the decision criterion 215 and service quality value 225 for determining the service quality value may be determined in various ways as needed.
- the decision criterion 215 for determining the quality of service value may vary depending on the type of application running on the terminal.
- the scheduling device may calculate the average value of service quality values of all terminals in the current TTI at every TTI to calculate the actual compensation value 230 used for learning the policy neural network.
- FIG. 3 is a diagram illustrating a data array stored in a memory buffer of a scheduling device according to an embodiment.
- the scheduling device determines the current network state 305 (e.g., the current network state 105 in FIG. 1), the scheduler type 310 selected in the current network state 305, and the next network state 315 (e.g., the next network state 105 in FIG. 1).
- a data array including the network state 135) and the actual compensation value 325 based on scheduler selection may be stored in the memory buffer 330 (eg, the memory buffer 115 in FIG. 1).
- the current network state 305 and the next network state 315 may be classified into an uncontrollable state and a controllable state by the network state processing operation 110 of FIG. 1 and included in the data array.
- the scheduler device may store the data array 320 in the memory buffer 330 every TTI until the set TTI elapses. Data arrays stored in the memory buffer 330 can be used to update the parameters of the policy neural network.
- the scheduler device can delete the old data array in order and store a new data array.
- the size of the memory buffer can be set variously according to need.
- FIG. 4 is a diagram illustrating a method of updating parameters of a policy neural network according to an embodiment.
- the scheduling device may extract at least one data array 405 from the memory buffer.
- the number of data arrays 405 to be extracted may be determined by the batch size.
- Batch may refer to a bundle of data used when updating the parameters of the policy neural network 430 once.
- the batch size can be set variously as needed.
- the scheduling device may input the current network state 410 and scheduler type 415 of the extracted data array 405 into the policy neural network 430.
- the policy neural network 430 may perform a neural network operation and output an estimated compensation value 435.
- the estimated compensation value 435 may be a predicted compensation value due to the scheduler's selection for the current network state 410.
- the scheduling device may input the next network state 420 to the target neural network 440.
- the target neural network 440 may perform a neural network operation to output the maximum compensation value 445 of the next TTI.
- the maximum compensation value 445 may be a predicted compensation value when the optimal scheduler is selected in the next network state.
- the scheduling device may determine the target compensation value 450 based on the maximum compensation value 445 and the actual compensation value 425 of the data array 405.
- the scheduling device may apply the set depreciation rate to the maximum compensation value 445 and determine the target compensation value 450 by adding the compensation value to which the depreciation rate is applied and the actual compensation value 425.
- the scheduling device may determine the target compensation value 450 using the Bellman equation.
- the scheduling device may determine the difference between the target compensation value 450 and the estimated compensation value 435 as the loss value 455.
- the scheduling device may adjust the parameters of the policy neural network 430 so that the loss value 455 is reduced.
- the scheduling device can adjust the parameters of the policy neural network 430 for each TTI during which learning is performed. As learning progresses, the scheduling device may periodically update the parameters of the target neural network 440 to be the same as the parameters of the policy neural network 430.
- 5 and 6 are flowcharts of a scheduling method according to one embodiment.
- the scheduling device may initialize parameters of a first neural network (e.g., policy neural network 120 of FIG. 1).
- the scheduling device may further initialize parameters of the second neural network (eg, target neural network 125 in FIG. 1).
- the scheduling device may determine whether a set condition regarding a transmission time interval (TTI) has been satisfied.
- the set condition may be a condition set based on an epsilon greedy algorithm. For example, the scheduling device may determine a reference value for the current TTI within a set value range. The scheduling device may compare the reference value with an arbitrary value determined within the range of the corresponding set value, and determine whether the set condition is satisfied based on the comparison result.
- the scheduling device may change the reference value so that the probability that the set condition is not satisfied increases as the TTI elapses. For example, the scheduling device may determine that a set condition is satisfied if the reference value is greater than any comparison value determined within the range of the set value (e.g., a range of values such as between 0 and 1). The scheduling device may determine that the set condition is not satisfied when the reference value is smaller than an arbitrary comparison value determined within the range of the set value. The scheduling device may change the reference value to a smaller value by applying a set reduction rate to the reference value as time passes.
- any comparison value determined within the range of the set value (e.g., a range of values such as between 0 and 1).
- the scheduling device may determine that the set condition is not satisfied when the reference value is smaller than an arbitrary comparison value determined within the range of the set value.
- the scheduling device may change the reference value to a smaller value by applying a set reduction rate to the reference value as time passes.
- the scheduling device may operate in the exploration mode, and if the conditions set in operation 510 are not satisfied, the scheduling device may operate in the utilization mode.
- the scheduling device determines the network state of the current TTI, the scheduler type selected in the network state of the current TTI, and the network of the next TTI every TTI until the set TTI elapses.
- a data array containing the state and actual compensation values for the network state of the current TTI can be stored in a memory buffer.
- the scheduling device may store the data array in memory until the memory buffer is full.
- the scheduling device may update parameters of the first neural network based on at least one data array among the data arrays stored in the memory buffer.
- the scheduling device may determine whether there are any terminals remaining to schedule. If there are remaining terminals to schedule, the scheduling device may adjust the reference value for the next TTI in operation 530. For example, the scheduling device may adjust the reference value by applying a set reduction rate to the reference value. If the reference value is adjusted, the scheduling device may perform operation 510 again at the next TTI.
- the scheduling device may input the network state of the current TTI to the first neural network in operation 535.
- the scheduling device may select a scheduler using the output of the first neural network in operation 540.
- the scheduling device may input the current network state to the first neural network and select a scheduler based on the output of the first neural network in operation 605.
- the scheduling device may determine the next network state and actual reward value based on the current network state and the selected scheduler. For example, the scheduling device can determine the next network state using the scheduler selected in the current network state. The scheduling device may determine the actual compensation value as described in FIG. 2 based on the current network state.
- the scheduling device may store a data array containing the current network state, the selected scheduler, the next network state, and the actual reward value in a memory buffer.
- the scheduling device may determine whether the number of data arrays stored in the memory buffer is sufficient to begin training of the first neural network. If the number of data arrays stored in the memory buffer is not sufficient, in operation 625, the next network state may be input to the first neural network and a scheduler may be selected. The scheduling device may repeat operations 610, 615, 620, and 625 until a sufficient number of data arrays are stored in the memory buffer.
- the scheduling device may repeat operations 610, 615, 620, and 625 until the set TTI elapses. In another example, the scheduling device may repeat operations 610, 615, 620, and 625 until the memory buffer is full.
- the scheduling device may randomly extract at least one data array from the memory buffer in operation 630.
- the extracted data array may be input to the first neural network and the second neural network.
- the current network state and scheduler type of the extracted data array can be input to the first neural network, and the next network state of the extracted data array can be input to the second neural network.
- the loss value may be determined based on the output of the first neural network, the output of the second neural network, and the actual compensation value of the data array. For example, as described in FIG. 4, the scheduling device may apply a reduction rate to the maximum compensation value as the output of the second neural network and add it to the actual compensation value to determine the target compensation value. The scheduling device may determine the loss value based on the difference between the estimated compensation value and the target compensation value as the output of the first neural network.
- the scheduling device may update the parameters of the first neural network so that the loss value is reduced.
- the scheduling device may periodically update the parameters of the second neural network to be the same as the parameters of the first neural network. For example, in operation 650, the scheduling device determines whether the TTI of the set interval has been reached, and if the set TTI has been reached, in operation 655, the scheduling device determines the parameters of the second neural network to the TTI of the first neural network. It can be adjusted in the same way as the parameters.
- operations 605, 610, 615, 620, and 625 may be included in operation 515 of FIG. 5, and operations 630, 635, 640, 645, 650, and 655 may be included in operation 515 of FIG. 5. May be included in operation 520.
- Figure 7 is a block diagram of a scheduling device according to an embodiment.
- the scheduling device 700 may include a processor 705 and a memory that stores instructions to be executed by the processor 705. The operations of FIGS. 5 and 6 may be performed by processor 705.
- the memory buffers of FIGS. 1 to 6 may correspond to or be included in the memory 710 .
- the scheduling device 700 may further include a memory buffer separate from the memory 710.
- the processor 705 When instructions are executed by the processor 705, the processor 705 performs the following operations: determining whether a set condition regarding a transmission time interval (TTI) is satisfied; if the set condition is satisfied, the set TTI At each TTI until elapse, a data array is stored in memory 710 containing the network state of the current TTI, the scheduler type selected in the network state of the current TTI, the network state of the next TTI, and the actual compensation value for the network state of the current TTI.
- TTI transmission time interval
- An operation of inputting to a neural network and an operation of selecting a scheduler can be performed using the output of the first neural network based on the network state of the current input TTI.
- the operation of updating the parameters may further include extracting at least one data array from the memory 710 and adjusting the parameters of the first neural network based on the extracted data array.
- the operation of extracting a data array may include randomly extracting a number of data arrays corresponding to a set batch size from the memory 710.
- the operation of adjusting the parameters of the first neural network includes the operation of determining an estimated compensation value by inputting the network state of the current TTI and the selected scheduler type included in the extracted data array into the first neural network.
- the operation of determining the target compensation value may include applying a set reduction rate to the maximum compensation value, and determining the target compensation value by adding the maximum compensation value to which the reduction rate is applied and the actual compensation value.
- the operation of updating the parameters of the first neural network may include periodically updating the parameters of the second neural network to be the same as the parameters of the first neural network.
- the network state may include an uncontrollable state regarding the number of communication terminals, type of application, and channel quality, and a controllable state regarding packet transmission time, packet transmission amount, and packet loss rate.
- the actual compensation value may be the average value of the quality of service values determined for each communication terminal belonging to the network based on requirements regarding the type of application and the controllable state.
- the operation of determining whether a set condition is satisfied includes determining a reference value for the current TTI within a range of set values, and if the reference value is greater than any comparison value determined within the range of set values, the set condition is determined. It may include an action to determine that something is satisfied.
- the reference value may become smaller as time passes.
- a scheduling method includes the operation of determining whether a set condition regarding a transmission time interval (TTI) is satisfied, and if the set condition is satisfied, the current TTI for each TTI until the set TTI elapses.
- An operation of selecting a scheduler may be included using the output of the first neural network based on the state.
- the operation of updating parameters may further include extracting at least one data array from memory and adjusting parameters of the first neural network based on the extracted data array.
- the operation of extracting a data array may include randomly extracting a number of data arrays corresponding to a set batch size from memory.
- the operation of adjusting the parameters of the first neural network includes the operation of determining an estimated compensation value by inputting the network state of the current TTI and the selected scheduler type included in the extracted data array into the first neural network.
- the operation of determining the target compensation value may include applying a set reduction rate to the maximum compensation value, and determining the target compensation value by adding the maximum compensation value to which the reduction rate is applied and the actual compensation value.
- the operation of updating the parameters of the first neural network may include periodically updating the parameters of the second neural network to be the same as the parameters of the first neural network.
- the network state may include an uncontrollable state regarding the number of communication terminals, type of application, and channel quality, and a controllable state regarding packet transmission time, packet transmission amount, and packet loss rate.
- the actual compensation value may be the average value of the quality of service values determined for each communication terminal belonging to the network based on requirements regarding the type of application and the controllable state.
- the operation of determining whether a set condition is satisfied includes determining a reference value for the current TTI within a range of set values, and if the reference value is greater than any comparison value determined within the range of set values, the set condition is determined. It may include an action to determine that something is satisfied.
- the service quality of the network can be improved by selecting a scheduler using artificial neural network-based reinforcement learning.
- Electronic devices may be of various types.
- Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances.
- Electronic devices according to embodiments of this document are not limited to the above-described devices.
- first, second, or first or second may be used simply to distinguish one element from another, and may be used to distinguish such elements in other respects, such as importance or order) is not limited.
- One (e.g. first) component is said to be “coupled” or “connected” to another (e.g. second) component, with or without the terms “functionally” or “communicatively”.
- any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
- module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of this document may be implemented as software including one or more instructions stored in a storage medium that can be read by a machine.
- the processor of the device may call at least one instruction among one or more instructions stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called.
- the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
- a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
- Computer program products are commodities and can be traded between sellers and buyers.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
- a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
- an application store e.g. Play StoreTM
- two user devices e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
- at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
- each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
- one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
- multiple components eg, modules or programs
- the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. .
- operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Alternatively, one or more other operations may be added.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
네트워크의 스케줄링 장치 및 방법이 개시된다. 스케줄링 방법은 전송 시간 간격(transmission time interval, TTI)에 관하여 설정된 조건이 만족되었는지 여부를 결정하는 동작, 설정된 조건이 만족된 경우, 설정된 TTI가 경과할 때까지 매 TTI마다 현재 TTI의 네트워크 상태, 현재 TTI의 네트워크 상태에서 선택된 스케줄러 종류, 다음 TTI의 네트워크 상태 및 현재 TTI의 네트워크 상태에 대한 실제 보상 값을 포함하는 데이터 어레이를 메모리에 저장하는 동작, 메모리에 저장된 데이터 어레이들 중 적어도 하나의 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작, 설정된 조건이 만족되지 않은 경우, 현재 TTI의 네트워크의 상태를 제1 뉴럴 네트워크에 입력하는 동작, 및 입력된 현재 TTI의 네트워크의 상태에 기초한 제1 뉴럴 네트워크의 출력을 이용하여 스케줄러를 선택하는 동작을 포함한다.
Description
아래 실시예들은 네트워크 스케줄링 기술에 관한 것이다.
주요 소비 컨텐츠의 형태가 텍스트 및 사진 형태에서 영상 및 오디오 형태로 전환됨에 따라 기존 네트워크의 데이터 전송 기법의 복잡도가 증가하여 네트워크의 서비스 품질(quality of service; QoS)를 향상시키기 어려워지고 있다. 따라서, 기지국에서는 데이터 송신에서의 단말(user equipment; UE) 스케줄링 성능 및 통신 서비스 품질을 최대화하기 위한 기법에 대한 필요성이 증가하고 있다.
기지국의 UE 스케줄러는 셀(cell)에 포함된 특정 수의 단말들에게 시간과 주파수 자원을 할당하여 스케줄링을 시도한다. 자원을 일정 단위로 구분해 RB(resource block)라 정의하며, 이는 스케줄링 과정에 쓰이는 데이터의 최소 단위이다. 기지국은 스루풋(throughput)을 최대화하고 단말들의 공평성(fairness)을 보장하면서, RB를 할당하는 것을 목표로 스케줄링한다.
일 실시예에 따른 스케줄링 장치는 프로세서, 및 상기 프로세서에 의해 실행될 인스트럭션들(instructions)을 저장하는 메모리를 포함하고, 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는, 전송 시간 간격(transmission time interval, TTI)에 관하여 설정된 조건이 만족되었는지 여부를 결정하는 동작, 상기 설정된 조건이 만족된 경우, 설정된 TTI가 경과할 때까지 매 TTI마다 현재 TTI의 네트워크 상태, 현재 TTI의 네트워크 상태에서 선택된 스케줄러 종류, 다음 TTI의 네트워크 상태 및 상기 현재 TTI의 네트워크 상태에 대한 실제 보상 값을 포함하는 데이터 어레이를 상기 메모리에 저장하는 동작, 상기 메모리에 저장된 데이터 어레이들 중 적어도 하나의 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작, 상기 설정된 조건이 만족되지 않은 경우, 상기 현재 TTI의 네트워크의 상태를 상기 제1 뉴럴 네트워크에 입력하는 동작, 및 입력된 현재 TTI의 네트워크의 상태에 기초한 상기 제1 뉴럴 네트워크의 출력을 이용하여 스케줄러를 선택하는 동작을 수행할 수 있다.
일 실시예에 따른 스케줄링 방법은 전송 시간 간격(transmission time interval, TTI)에 관하여 설정된 조건이 만족되었는지 여부를 결정하는 동작, 상기 설정된 조건이 만족된 경우, 설정된 TTI가 경과할 때까지 매 TTI마다 현재 TTI의 네트워크 상태, 현재 TTI의 네트워크 상태에서 선택된 스케줄러 종류, 다음 TTI의 네트워크 상태 및 상기 현재 TTI의 네트워크 상태에 대한 실제 보상 값을 포함하는 데이터 어레이를 메모리에 저장하는 동작, 상기 메모리에 저장된 데이터 어레이들 중 적어도 하나의 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작, 상기 설정된 조건이 만족되지 않은 경우, 상기 현재 TTI의 네트워크의 상태를 상기 제1 뉴럴 네트워크에 입력하는 동작, 및 입력된 현재 TTI의 네트워크의 상태에 기초한 상기 제1 뉴럴 네트워크의 출력을 이용하여 스케줄러를 선택하는 동작을 포함할 수 있다.
도 1은 일 실시예에 따른 스케줄링 장치에 의해 수행되는 동작들을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 스케줄링 장치에 의해 수행되는 네트워크 상태 처리 동작을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 스케줄링 장치의 메모리 버퍼에 저장되는 데이터 어레이를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 정책 뉴럴 네트워크의 파라미터들을 업데이트 하는 방법을 설명하기 위한 도면이다.
도 5 및 도 6은 일 실시예에 따른 스케줄링 방법의 흐름도이다.
도 7은 일 실시예에 따른 스케줄링 장치의 블록도이다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 스케줄링 장치에 의해 수행되는 동작들을 설명하기 위한 도면이다.
기지국의 스케줄러는 셀(cell)에 포함된 특정 수의 단말들에게 시간과 주파수 자원을 할당하여 스케줄링을 시도한다. 스케줄링에는 다양한 스케줄러가 사용될 수 있다. 단말들에게 할당할 수 있는 시간과 주파수 자원은 한정적이므로, 스케줄링에 이용되는 스케줄러의 종류에 따라 단말들 각각에 대한 네트워크의 서비스 품질이 달라질 수 있다.
일 실시예에 따른 스케줄링 장치(예: 도 7의 스케줄링 장치(700)) 및 방법은 뉴럴 네트워크 기반의 강화 학습을 이용함으로써 네트워크의 스케줄링 시 단말들 각각의 서비스 품질을 실시간으로 반영하여 스케줄링에 사용할 스케줄러를 선택할 수 있다. 일 실시예에 따른 스케줄링 장치 및 방법은 데이터 패킷의 매 전송 시간 간격(transmission time interval; TTI)마다 네트워크의 서비스 품질을 추적하고, 새로운 스케줄러를 선택하여 서비스 품질을 향상시킬 수 있다.
도 1을 참조하면, 스케줄링 장치가 현재 네트워크 상태에 기초하여 스케줄러를 선택하는 과정이 도시되어 있다.
스케줄링 장치는 현재 TTI의 네트워크 상태(105)(이하, '현재 네트워크 상태')에 기초하여 스케줄러를 선택할 수 있고, 선택된 스케줄러에 의해 다음 TTI의 네트워크 상태(135)(이하. '다음 네트워크 상태')가 결정될 수 있다. 일 실시예에서, 스케줄링 장치는 다양한 스케줄러들 중에서 어느 하나를 선택할 수 있다. 예를 들어, 스케줄링 장치는 전체 네트워크의 쓰루풋(throughput)을 최대화하는 MT(maximum throughput) 스케줄러, 모든 단말에 동일한 쓰루풋을 제공하는 BET(blind equal throughput) 스케줄러, 쓰루풋과 공평성의 균형을 목적으로 하는 PF(proportional fair) 스케줄러와 같은 다양한 스케줄러들 중에서 어느 하나를 선택할 수 있다.
스케줄링 장치는 네트워크 상태 처리 동작을 매 TTI 마다 변화하는 네트워크의 상태를 추적하고, 네트워크의 상태를 분석할 수 있다.
스케줄링 장치는, 동작(110)에서, 네트워크 상태(예: 현재 네트워크 상태(105) 및 다음 네트워크 상태(135))를 제어 가능 상태와 제어 불가능 상태로 구분할 수 있다. 제어 가능 상태는 스케줄링에 이용되는 스케줄러가 변경됨에 따라 달라지는 상태로서 패킷 전송 시간(packet delay), 패킷 전송량(또는 '쓰루풋'이라고도 함), 패킷 손실률(packet loss rate; PLR)을 포함할 수 있다. 제어 불가능 상태는 스케줄링에 이용되는 스케줄러와 관계없이 달라지는 상태로서 단말의 수, 단말에서 실행되는 어플리케이션의 종류 및 채널 상태를 포함할 수 있다. 일 실시예에서, 제어 가능 상태는 정책 뉴럴 네트워크(120)의 학습을 위한 실제 보상 값을 산출하기 위해 이용될 수 있다. 동작(110)에 대해서는 도 2를 참조하여 아래에서 더 설명한다.
스케줄링 장치는 매 TTI마다 스케줄러를 선택하는 동작(130)을 수행할 수 있다. 스케줄링 장치는 정책 뉴럴 네트워크를 학습시키는 탐색(exploration) 모드와 학습된 정책 뉴럴 네트워크를 이용하여 스케줄러를 선택하는 활용(exploitation) 모드 중 어느 하나의 동작 모드로 설정될 수 있고, 스케줄러는 스케줄링 장치의 동작 모드에 따라 다르게 선택될 수 있다.
탐색 모드에서, 스케줄링 장치는 여러 종류의 스케줄러들 중에서 임의의 스케줄러를 선택할 수 있다. 선택된 스케줄러에 의해 다음 네트워크 상태(135)가 결정될 수 있다.
활용 모드에서, 스케줄링 장치는 현재 네트워크 상태(105)에 대하여 최대의 보상 값을 얻을 수 있는 스케줄러를 선택할 수 있다.
스케줄링 장치는, 다시 동작(110)에서, 스케줄러 선택에 의한 실제 보상 값을 결정할 수 있다. 실제 보상 값은 네트워크에 속한 통신 단말들 각각에 대해 결정된 서비스 품질 값에 기초하여 결정될 수 있다.
스케줄링 장치는 현재 네트워크 상태, 현재 네트워크 상태(105)에서 선택된 스케줄러 종류, 다음 네트워크 상태(135) 및 스케줄러 선택에 의한 실제 보상 값을 포함하는 데이터 어레이를 메모리 버퍼(115)(예: 도 7의 메모리(700))에 저장할 수 있다. 메모리 버퍼(115)에 저장된 데이터는 정책 뉴럴 네트워크(120)에 전달되어 정책 뉴럴 네트워크(120)의 파라미터를 업데이트하기 위해 이용될 수 있다.
정책 뉴럴 네트워크(120)는 입력층, 은닉층 및 출력층을 포함할 수 있다. 은닉층은 선형 함수 및 비선형 함수 중 어느 하나의 함수를 이용하여 구현될 수 있다. 정책 뉴럴 네트워크(120)의 파라미터들은 임의의 값으로 초기화될 수 있다.
탐색 모드에서, 정책 뉴럴 네트워크(120)는 네트워크 상태 및 스케줄러 종류를 입력 받아 예측되는 추정 보상 값을 출력할 수 있다. 목표 뉴럴 네트워크(125)는 정책 뉴럴 네트워크(120)와 같은 파라미터를 갖도록 설정되며, 해당 TTI의 다음 TTI에서의 네트워크 상태에 대해 최적의 스케줄러를 선택했을 때 예측되는 최대 보상 값을 출력할 수 있다. 스케줄링 장치는 정책 뉴럴 네트워크(120)의 학습 시, 목표 뉴럴 네트워크(125)의 파라미터들을 주기적으로 정책 뉴럴 네트워크(120)의 파라미터들과 동일하게 조절할 수 있다.
활용 모드에서, 정책 뉴럴 네트워크(120)는 현재 TTI의 네트워크 상태만을 입력받을 수 있고, 스케줄링 장치는, 동작(130)에서, 정책 뉴럴 네트워크(120)의 출력을 이용하여 스케줄러를 선택할 수 있다.
도 2는 일 실시예에 따른 스케줄링 장치에 의해 수행되는 네트워크 상태 처리 동작을 설명하기 위한 도면이다.
일 실시예에서, 스케줄링 장치는 네트워크 상태 처리 동작(110)을 수행하여 네트워크 상태(예: 현재 네트워크 상태(105) 및 다음 네트워크 상태(135))를 제어 가능 상태(210)와 제어 불가능 상태(205)로 구분할 수 있다.
제어 가능 상태(210)는 스케줄링에 이용되는 스케줄러가 변경됨에 따라 달라지는 상태로서 패킷 전송 시간, 패킷 전송량, 패킷 손실률을 포함할 수 있다. 패킷 전송 시간은 기지국으로부터 송신하는 데이터 패킷이 단말까지 도달하는데 소요되는 시간을 의미할 수 있다. 패킷 전송량은 1초(1000 TTI)를 기준으로 전송된 패킷의 양을 의미할 수 있다. 패킷 손실률은 전체 송신된 데이터 패킷의 양 대비 단말이 수신하지 못한 데이터 패킷의 양을 의미할 수 있다.
스케줄링 장치는 서비스 품질 값을 결정하는 결정 기준(215)에 기초하여 스케줄링된 모든 단말에 대해 각 단말에 대한 서비스 품질(QoS) 값(225)을 결정할 수 있다. 결정 기준(215)은 제어 가능 상태(210)에 대한 조건을 포함할 수 있다. 예를 들어, 결정 기준(215)은 패킷 전송 시간에 대한 조건, 패킷 전송량에 대한 조건 및 패킷 손실률에 대한 조건을 포함할 수 있다. 스케줄링 장치는 패킷 전송 시간에 대한 조건, 패킷 전송량에 대한 조건 및 패킷 손실률에 대한 조건이 만족되었는지 여부를 결정하고, 만족된 조건의 수를 해당 단말의 서비스 품질 값(225)으로 결정할 수 있다. 예를 들어, 패킷 전송 시간에 대한 조건만 만족된 경우, 서비스 품질 값을 1/3로 결정하고, 패킷 전송 시간에 대한 조건 및 패킷 전송량에 대한 조건이 만족된 경우, 서비스 품질 값을 2/3으로 결정하고, 패킷 전송 시간에 대한 조건, 패킷 전송량에 대한 조건 및 패킷 손실률에 대한 조건이 모두 만족된 경우 서비스 품질 값을 1로 결정할 수 있다. 다만, 이는 일 예시일 뿐이며, 서비스 품질 값을 결정하는 결정 기준(215) 및 서비스 품질 값(225)은 필요에 따라 다양하게 결정될 수 있다.
일 실시예에서, 서비스 품질 값을 결정하는 결정 기준(215)은 단말에서 실행되는 어플리케이션의 종류에 따라 달라질 수 있다.
스케줄링 장치는 매 TTI 마다 현재 TTI에서 전체 단말들의 서비스 품질 값의 평균 값을 계산하여 정책 뉴럴 네트워크의 학습에 이용되는 실제 보상 값(230)을 산출할 수 있다.
도 3은 일 실시예에 따른 스케줄링 장치의 메모리 버퍼에 저장되는 데이터 어레이를 설명하기 위한 도면이다.
도 3을 참조하면, 데이터 어레이에 포함된 데이터들 및 메모리 버퍼에 저장된 데이터 어레이들이 도시되어 있다.
스케줄링 장치는 현재 네트워크 상태(305)(예: 도 1의 현재 네트워크 상태(105)), 현재 네트워크 상태(305)에서 선택된 스케줄러 종류(310), 다음 네트워크 상태(315)(예: 도 1의 다음 네트워크 상태(135)) 및 스케줄러 선택에 의한 실제 보상 값(325)을 포함하는 데이터 어레이를 메모리 버퍼(330)(예: 도 1의 메모리 버퍼(115))에 저장할 수 있다. 현재 네트워크 상태(305)와 다음 네트워크 상태(315)는 도 1의 네트워크 상태 처리 동작(110)에 의해 제어 불가능 상태와 제어 가능 상태로 구분되어 데이터 어레이에 포함될 수 있다.
스케줄러 장치는, 탐색 모드에서, 설정된 TTI가 경과할 때까지 매 TTI마다 데이터 어레이(320)를 메모리 버퍼(330)에 저장할 수 있다. 메모리 버퍼(330)에 저장된 데이터 어레이들은 정책 뉴럴 네트워크의 파라미터들을 업데이트하기 위해 이용될 수 있다.
스케줄러 장치는 메모리 버퍼의 저장 공간이 가득 찬 경우, 오래된 데이터 어레이 순으로 삭제하고 새로운 데이터 어레이를 저장할 수 있다. 메모리 버퍼의 크기는 필요에 따라 다양하게 설정될 수 있다.
도 4는 일 실시예에 따른 정책 뉴럴 네트워크의 파라미터들을 업데이트 하는 방법을 설명하기 위한 도면이다.
탐색 모드에서, 스케줄링 장치는 메모리 버퍼로부터 적어도 하나의 데이터 어레이(405)를 추출할 수 있다. 추출되는 데이터 어레이(405)의 개수는 배치 크기(batch size)에 의해 결정될 수 있다. 배치는 정책 뉴럴 네트워크(430)의 파라미터들을 한번 업데이트할 때 사용되는 데이터들의 묶음을 의미할 수 있다. 배치 크기는 필요에 따라 다양하게 설정될 수 있다.
스케줄링 장치는 추출된 데이터 어레이(405)의 현재 네트워크 상태(410) 및 스케줄러 종류(415)를 정책 뉴럴 네트워크(430)에 입력할 수 있다. 정책 뉴럴 네트워크(430)는 뉴럴 네트워크 연산을 수행하여 추정 보상 값(435)을 출력할 수 있다. 추정 보상 값(435)은 현재 네트워크 상태(410)에 대한 스케줄러의 선택으로 인한 예측되는 보상 값일 수 있다.
스케줄링 장치는 다음 네트워크 상태(420)를 목표 뉴럴 네트워크(440)에 입력할 수 있다. 목표 뉴럴 네트워크(440)는 뉴럴 네트워크 연산을 수행하여 다음 TTI의 최대 보상 값(445)을 출력할 수 있다. 최대 보상 값(445)은 다음 네트워크의 상태에서 최적의 스케줄러를 선택했을 때의 예측되는 보상 값일 수 있다.
스케줄링 장치는 최대 보상 값(445) 및 데이터 어레이(405)의 실제 보상 값(425)에 기초하여 목표 보상 값(450)을 결정할 수 있다. 스케줄링 장치는 설정된 감가율을 최대 보상 값(445)에 적용하고, 감가율이 적용된 보상 값과 실제 보상 값(425)을 더하여 목표 보상 값(450)을 결정할 수 있다. 예를 들어, 스케줄링 장치는 벨만 방정식(Bellman equation)을 이용하여 목표 보상 값(450)을 결정할 수 있다.
스케줄링 장치는 목표 보상 값(450)과 추정 보상 값(435)과의 차이를 손실 값(455)으로 결정할 수 있다. 스케줄링 장치는 손실 값(455)이 줄어들도록 정책 뉴럴 네트워크(430)의 파라미터들을 조절할 수 있다. 스케줄링 장치는 학습이 진행되는 매 TTI마다 정책 뉴럴 네트워크(430)의 파라미터들을 조절할 수 있다. 스케줄링 장치는 학습이 진행될 때 주기적으로 정책 뉴럴 네트워크(430)의 파라미터들과 동일하도록 목표 뉴럴 네트워크(440)의 파라미터들을 업데이트할 수 있다.
도 5 및 도 6은 일 실시예에 따른 스케줄링 방법의 흐름도이다.
동작(505)에서, 스케줄링 장치는 제1 뉴럴 네트워크(예: 도 1의 정책 뉴럴 네트워크(120))의 파라미터들을 초기화할 수 있다. 스케줄링 장치는 제2 뉴럴 네트워크(예: 도 1의 목표 뉴럴 네트워크(125))의 파라미터들을 더 초기화할 수 있다.
동작(510)에서, 스케줄링 장치는 전송 시간 간격(TTI)에 관하여 설정된 조건이 만족되었는지 여부를 결정할 수 있다. 일 실시예에서, 설정된 조건은 입실론-그리디 알고리즘(epsilon greedy algorithm)에 기초하여 설정된 조건일 수 있다. 예를 들어, 스케줄링 장치는 설정된 값의 범위 내에서 현재 TTI에 대한 기준 값을 결정할 수 있다. 스케줄링 장치는 기준 값과 해당 설정된 값의 범위 내에서 결정된 임의의 값을 비교하고, 비교 결과에 따라 설정된 조건의 만족 여부를 결정할 수 있다.
일 실시예에서, 스케줄링 장치는 TTI가 경과할수록 설정된 조건이 만족되지 않을 확률이 높아지도록 기준 값을 변경할 수 있다. 예를 들어, 스케줄링 장치는 기준 값이 해당 설정된 값의 범위 내(예: 0과 1사이와 같은 값의 범위)에서 결정된 임의의 비교 값보다 큰 경우, 설정된 조건이 만족된 것으로 결정할 수 있다. 스케줄링 장치는 기준 값이 해당 설정된 값의 범위 내에서 결정된 임의의 비교 값보다 작은 경우, 설정된 조건이 만족되지 않은 것으로 결정할 수 있다. 스케줄링 장치는 시간이 경과함에 따라 기준 값에 설정된 감소율을 적용하여 기준 값을 더 작은 값으로 변경할 수 있다.
동작(510)에서 설정된 조건이 만족된 경우, 스케줄링 장치는 탐험 모드에서 동작하고, 설정된 조건이 만족되지 않은 경우, 활용 모드로 동작할 수 있다.
예를 들어, 설정된 조건이 만족된 경우, 동작(515)에서, 스케줄링 장치는 설정된 TTI가 경과할 때까지 매 TTI마다 현재 TTI의 네트워크 상태, 현재 TTI의 네트워크 상태에서 선택된 스케줄러 종류, 다음 TTI의 네트워크 상태 및 현재 TTI의 네트워크 상태에 대한 실제 보상 값을 포함하는 데이터 어레이를 메모리 버퍼에 저장할 수 있다. 일 실시예에서, 스케줄링 장치는 메모리 버퍼가 가득 찰 때까지 데이터 어레이를 메모리에 저장할 수 있다.
동작(520)에서, 스케줄링 장치는 메모리 버퍼에 저장된 데이터 어레이들 중 적어도 하나의 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 업데이트할 수 있다.
동작(525)에서, 스케줄링 장치는 스케줄링할 단말이 남아있는지 여부를 결정할 수 있다. 스케줄링할 단말이 남아있는 경우, 스케줄링 장치는, 동작(530)에서, 다음 TTI에 대한 기준 값을 조정할 수 있다. 예를 들어, 스케줄링 장치는 기준 값에 설정된 감소율을 적용하여 기준 값을 조정할 수 있다. 기준 값이 조정되면, 스케줄링 장치는, 다음 TTI에서 동작(510)을 다시 수행할 수 있다.
다시 현재 TTI의 동작(510)에서 설정된 조건이 만족되지 않은 경우, 스케줄링 장치는, 동작(535)에서, 현재 TTI의 네트워크 상태를 제1 뉴럴 네트워크에 입력할 수 있다. 스케줄링 장치는, 동작(540)에서, 제1 뉴럴 네트워크의 출력을 이용하여 스케줄러를 선택할 수 있다.
이하, 도 6을 참조하여 탐색 모드에서의 스케줄링 방법에 대해 더 자세히 설명한다.
동작(510)에서 설정된 조건이 만족된 경우, 스케줄링 장치는, 동작(605)에서, 현재 네트워크 상태를 제1 뉴럴 네트워크에 입력하고 제1 뉴럴 네트워크의 출력에 기초하여 스케줄러를 선택할 수 있다.
동작(610)에서, 스케줄링 장치는 현재 네트워크 상태 및 선택된 스케줄러에 기초하여 다음 네트워크 상태 및 실제 보상 값을 결정할 수 있다. 예를 들어, 스케줄링 장치는 현재 네트워크 상태에서 선택된 스케줄러를 이용하여 다음 네트워크 상태를 결정할 수 있다. 스케줄링 장치는 현재 네트워크 상태에 기초하여 도 2에서 설명한 바와 같이 실제 보상 값을 결정할 수 있다.
동작(615)에서, 스케줄링 장치는 현재 네트워크 상태, 선택된 스케줄러, 다음 네트워크 상태 및 실제 보상 값을 포함하는 데이터 어레이를 메모리 버퍼에 저장할 수 있다.
동작(620)에서, 스케줄링 장치는 메모리 버퍼에 저장된 데이터 어레이의 수가 제1 뉴럴 네트워크의 학습을 시작하기에 충분한지 여부를 결정할 수 있다. 메모리 버퍼에 저장된 데이터 어레이의 수가 충분하지 않은 경우, 동작(625)에서, 다음 네트워크 상태를 제1 뉴럴 네트워크에 입력하고 스케줄러를 선택할 수 있다. 스케줄링 장치는 메모리 버퍼에 충분한 수의 데이터 어레이가 저장될 때까지 동작들(610, 615, 620, 625)을 반복할 수 있다.
예를 들어, 스케줄링 장치는 설정된 TTI가 경과할 때까지 동작들(610, 615, 620, 625)을 반복할 수 있다. 다른 예에서, 스케줄링 장치는 메모리 버퍼가 가득 찰 때까지 동작들(610, 615, 620, 625)을 반복할 수 있다.
메모리 버퍼에 저장된 데이터 어레이의 수가 충분한 경우, 스케줄링 장치는, 동작(630)에서, 메모리 버퍼로부터 적어도 하나의 데이터 어레이를 무작위로 추출할 수 있다.
동작(635)에서, 추출된 데이터 어레이를 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크에 입력할 수 있다. 예를 들어, 도 4에서 설명한 바와 같이 추출된 데이터 어레이의 현재 네트워크 상태 및 스케줄러 종류를 제1 뉴럴 네트워크에 입력하고, 추출된 데이터 어레이의 다음 네트워크 상태를 제2 뉴럴 네트워크에 입력할 수 있다.
동작(640)에서, 제1 뉴럴 네트워크의 출력, 제2 뉴럴 네트워크의 출력 및 데이터 어레이의 실제 보상 값에 기초하여 손실 값을 결정할 수 있다. 예를 들어, 스케줄링 장치는 도 4에서 설명한 바와 같이 제2 뉴럴 네트워크의 출력으로서의 최대 보상 값에 감가율을 적용하고 실제 보상 값과 더하여 목표 보상 값을 결정할 수 있다. 스케줄링 장치는 제1 뉴럴 네트워크의 출력으로서 추정 보상 값과 목표 보상 값 간의 차이에 기초하여 손실 값을 결정할 수 있다.
동작(645)에서, 스케줄링 장치는 손실 값이 줄어들도록 제1 뉴럴 네트워크의 파라미터들을 업데이트할 수 있다.
동작(650) 및 동작(655)에서, 스케줄링 장치는 제2 뉴럴 네트워크의 파라미터들을 제1 뉴럴 네트워크의 파라미터들과 동일하도록 주기적으로 업데이트할 수 있다. 예를 들어, 동작(650)에서, 스케줄링 장치는 설정된 간격의 TTI에 도달했는지 여부를 결정하고, 설정된 TTI에 도달한 경우, 동작(655)에서, 제2 뉴럴 네트워크의 파라미터들을 제1 뉴럴 네트워크의 파라미터들과 동일하게 조정할 수 있다.
일 실시예에서, 동작들(605, 610, 615, 620, 625)은 도 5의 동작(515)에 포함될 수 있고, 동작들(630, 635, 640, 645, 650, 655)은 도 5의 동작(520)에 포함될 수 있다.
도 7은 일 실시예에 따른 스케줄링 장치의 블록도이다.
도 7을 참조하면, 스케줄링 장치(700)는 프로세서(705) 및 프로세서(705)에 의해 실행될 인스트럭션들(instructions)을 저장하는 메모리를 포함할 수 있다. 도 5 및 도 6의 동작들은 프로세서(705)에 의해 수행될 수 있다.
일 실시예에서, 도 1 내지 도 6의 메모리 버퍼는 메모리(710)에 대응되거나, 메모리(710)에 포함될 수 있다. 다른 실시예에서, 스케줄링 장치(700)는 메모리(710)와 별도로 메모리 버퍼를 더 포함할 수 있다.
프로세서(705)에 의해 인스트럭션들이 실행될 때, 프로세서(705)는, 전송 시간 간격(transmission time interval, TTI)에 관하여 설정된 조건이 만족되었는지 여부를 결정하는 동작, 설정된 조건이 만족된 경우, 설정된 TTI가 경과할 때까지 매 TTI마다 현재 TTI의 네트워크 상태, 현재 TTI의 네트워크 상태에서 선택된 스케줄러 종류, 다음 TTI의 네트워크 상태 및 현재 TTI의 네트워크 상태에 대한 실제 보상 값을 포함하는 데이터 어레이를 메모리(710)에 저장하는 동작, 메모리(710)에 저장된 데이터 어레이들 중 적어도 하나의 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작, 설정된 조건이 만족되지 않은 경우, 현재 TTI의 네트워크의 상태를 제1 뉴럴 네트워크에 입력하는 동작, 및 입력된 현재 TTI의 네트워크의 상태에 기초한 제1 뉴럴 네트워크의 출력을 이용하여 스케줄러를 선택하는 동작을 수행할 수 있다.
파라미터들을 업데이트하는 동작은, 메모리(710)로부터 적어도 하나의 데이터 어레이를 추출하는 동작, 및 추출된 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 조정하는 동작을 더 포함할 수 있다.
데이터 어레이를 추출하는 동작은, 설정된 배치 크기(batch size)에 대응되는 개수의 데이터 어레이를 메모리(710)로부터 무작위로 추출하는 동작을 포함할 수 있다.
제1 뉴럴 네트워크의 파라미터들을 조절하는 동작은, 추출된 데이터 어레이에 포함된 현재 TTI의 네트워크 상태 및 선택된 스케줄러 종류를 제1 뉴럴 네트워크에 입력하여 추정 보상 값을 결정하는 동작, 추출된 데이터 어레이에 포함된 다음 TTI의 네트워크 상태를 제2 뉴럴 네트워크에 입력하여 최대 보상 값을 결정하는 동작, 최대 보상 값 및 추출된 데이터 어레이에 포함된 실제 보상 값에 기초하여 목표 보상 값을 결정하는 동작, 추정 보상 값과 목표 보상 값 간의 차이에 기초하여 손실 값을 결정하는 동작, 및 손실 값이 줄어들도록 제1 뉴럴 네트워크의 파라미터들을 조절하는 동작을 포함할 수 있다.
목표 보상 값을 결정하는 동작은, 최대 보상 값에 설정된 감가율을 적용하는 동작, 및 감가율이 적용된 최대 보상 값과 실제 보상 값을 더하여 목표 보상 값을 결정하는 동작을 포함할 수 있다.
제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작은, 주기적으로 제1 뉴럴 네트워크의 파라미터들과 동일하도록 제2 뉴럴 네트워크의 파라미터들을 업데이트하는 동작을 포함할 수 있다.
네트워크 상태는, 통신 단말의 수, 어플리케이션의 종류 및 채널 품질에 관한 제어 불가능 상태 및 패킷 전송 시간, 패킷 전송량 및 패킷 손실률에 관한 제어 가능 상태를 포함할 수 있다.
실제 보상 값은, 어플리케이션의 종류 및 제어 가능 상태에 관한 요구 조건에 기초하여 네트워크에 속한 통신 단말들 각각에 대해 결정된 서비스 품질 값의 평균 값일 수 있다.
설정된 조건이 만족되었는지 여부를 결정하는 동작은, 설정된 값의 범위 내에서 현재 TTI에 대한 기준 값을 결정하는 동작, 및 기준 값이 설정된 값의 범위 내에서 결정된 임의의 비교 값보다 큰 경우 설정된 조건이 만족된 것으로 결정하는 동작을 포함할 수 있다.
기준 값은, 시간이 경과할수록 작아질 수 있다.
일 실시예에 따른 스케줄링 방법은 전송 시간 간격(transmission time interval, TTI)에 관하여 설정된 조건이 만족되었는지 여부를 결정하는 동작, 설정된 조건이 만족된 경우, 설정된 TTI가 경과할 때까지 매 TTI마다 현재 TTI의 네트워크 상태, 현재 TTI의 네트워크 상태에서 선택된 스케줄러 종류, 다음 TTI의 네트워크 상태 및 현재 TTI의 네트워크 상태에 대한 실제 보상 값을 포함하는 데이터 어레이를 메모리에 저장하는 동작, 메모리에 저장된 데이터 어레이들 중 적어도 하나의 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작, 설정된 조건이 만족되지 않은 경우, 현재 TTI의 네트워크의 상태를 제1 뉴럴 네트워크에 입력하는 동작, 및 입력된 현재 TTI의 네트워크의 상태에 기초한 제1 뉴럴 네트워크의 출력을 이용하여 스케줄러를 선택하는 동작을 포함할 수 있다.
파라미터들을 업데이트하는 동작은, 메모리로부터 적어도 하나의 데이터 어레이를 추출하는 동작, 및 추출된 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 조정하는 동작을 더 포함할 수 있다.
데이터 어레이를 추출하는 동작은, 설정된 배치 크기(batch size)에 대응되는 개수의 데이터 어레이를 메모리로부터 무작위로 추출하는 동작을 포함할 수 있다.
제1 뉴럴 네트워크의 파라미터들을 조절하는 동작은, 추출된 데이터 어레이에 포함된 현재 TTI의 네트워크 상태 및 선택된 스케줄러 종류를 제1 뉴럴 네트워크에 입력하여 추정 보상 값을 결정하는 동작, 추출된 데이터 어레이에 포함된 다음 TTI의 네트워크 상태를 제2 뉴럴 네트워크에 입력하여 최대 보상 값을 결정하는 동작, 최대 보상 값 및 추출된 데이터 어레이에 포함된 실제 보상 값에 기초하여 목표 보상 값을 결정하는 동작, 추정 보상 값과 목표 보상 값 간의 차이에 기초하여 손실 값을 결정하는 동작, 및 손실 값이 줄어들도록 제1 뉴럴 네트워크의 파라미터들을 조절하는 동작을 포함할 수 있다.
목표 보상 값을 결정하는 동작은, 최대 보상 값에 설정된 감가율을 적용하는 동작, 및 감가율이 적용된 최대 보상 값과 실제 보상 값을 더하여 목표 보상 값을 결정하는 동작을 포함할 수 있다.
제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작은, 주기적으로 제1 뉴럴 네트워크의 파라미터들과 동일하도록 제2 뉴럴 네트워크의 파라미터들을 업데이트하는 동작을 포함할 수 있다.
네트워크 상태는, 통신 단말의 수, 어플리케이션의 종류 및 채널 품질에 관한 제어 불가능 상태 및 패킷 전송 시간, 패킷 전송량 및 패킷 손실률에 관한 제어 가능 상태를 포함할 수 있다.
실제 보상 값은, 어플리케이션의 종류 및 제어 가능 상태에 관한 요구 조건에 기초하여 네트워크에 속한 통신 단말들 각각에 대해 결정된 서비스 품질 값의 평균 값일 수 있다.
설정된 조건이 만족되었는지 여부를 결정하는 동작은, 설정된 값의 범위 내에서 현재 TTI에 대한 기준 값을 결정하는 동작, 및 기준 값이 설정된 값의 범위 내에서 결정된 임의의 비교 값보다 큰 경우 설정된 조건이 만족된 것으로 결정하는 동작을 포함할 수 있다.
실시예에 따른 네트워크 스케줄링 장치 및 방법에 의하면, 인공신경망 기반 강화학습을 이용하여 스케줄러를 선택함으로써 네트워크의 서비스 품질을 향상시킬 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)에 의해 읽을 수 있는 저장 매체(storage medium)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
Claims (15)
- 네트워크의 스케줄링 장치(700)에 있어서,프로세서(705); 및상기 프로세서(705)에 의해 실행될 인스트럭션들(instructions)을 저장하는 메모리(710)를 포함하고,상기 프로세서(705)에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서(705)는,전송 시간 간격(transmission time interval; TTI)에 관하여 설정된 조건이 만족되었는지 여부를 결정하는 동작;상기 설정된 조건이 만족된 경우, 설정된 TTI가 경과할 때까지 매 TTI마다 현재 TTI의 네트워크 상태, 현재 TTI의 네트워크 상태에서 선택된 스케줄러 종류, 다음 TTI의 네트워크 상태 및 상기 현재 TTI의 네트워크 상태에 대한 실제 보상 값을 포함하는 데이터 어레이를 상기 메모리(710)에 저장하는 동작;상기 메모리(710)에 저장된 데이터 어레이들 중 적어도 하나의 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작;상기 설정된 조건이 만족되지 않은 경우, 상기 현재 TTI의 네트워크의 상태를 상기 제1 뉴럴 네트워크에 입력하는 동작; 및입력된 현재 TTI의 네트워크의 상태에 기초한 상기 제1 뉴럴 네트워크의 출력을 이용하여 스케줄러를 선택하는 동작을 수행하는, 스케줄링 장치(700).
- 제1항에 있어서,상기 파라미터들을 업데이트하는 동작은,상기 메모리(710)로부터 적어도 하나의 데이터 어레이를 추출하는 동작; 및상기 추출된 데이터 어레이에 기초하여 상기 제1 뉴럴 네트워크의 파라미터들을 조정하는 동작을 더 포함하는, 스케줄링 장치(700).
- 제2항에 있어서,상기 데이터 어레이를 추출하는 동작은,설정된 배치 크기(batch size)에 대응되는 개수의 데이터 어레이를 상기 메모리(710)로부터 무작위로 추출하는 동작을 포함하는, 스케줄링 장치(700).
- 제2항에 있어서,상기 제1 뉴럴 네트워크의 파라미터들을 조절하는 동작은,상기 추출된 데이터 어레이에 포함된 현재 TTI의 네트워크 상태 및 선택된 스케줄러 종류를 상기 제1 뉴럴 네트워크에 입력하여 추정 보상 값을 결정하는 동작;상기 추출된 데이터 어레이에 포함된 다음 TTI의 네트워크 상태를 제2 뉴럴 네트워크에 입력하여 최대 보상 값을 결정하는 동작;상기 최대 보상 값 및 상기 추출된 데이터 어레이에 포함된 실제 보상 값에 기초하여 목표 보상 값을 결정하는 동작;상기 추정 보상 값과 상기 목표 보상 값 간의 차이에 기초하여 손실 값을 결정하는 동작; 및상기 손실 값이 줄어들도록 상기 제1 뉴럴 네트워크의 파라미터들을 조절하는 동작을 포함하는, 스케줄링 장치(700).
- 제4항에 있어서,상기 목표 보상 값을 결정하는 동작은,상기 최대 보상 값에 설정된 감가율을 적용하는 동작; 및상기 감가율이 적용된 최대 보상 값과 상기 실제 보상 값을 더하여 상기 목표 보상 값을 결정하는 동작을 포함하는, 스케줄링 장치(700).
- 제4항에 있어서,상기 제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작은,주기적으로 상기 제1 뉴럴 네트워크의 파라미터들과 동일하도록 상기 제2 뉴럴 네트워크의 파라미터들을 업데이트하는 동작을 포함하는, 스케줄링 장치(700).
- 제1항 내지 제6항 중 어느 한 항에 있어서,상기 네트워크 상태는,통신 단말의 수, 어플리케이션의 종류 및 채널 품질에 관한 제어 불가능 상태 및패킷 전송 시간, 패킷 전송량 및 패킷 손실률에 관한 제어 가능 상태를 포함하고,상기 실제 보상 값은,상기 어플리케이션의 종류 및 상기 제어 가능 상태에 관한 요구 조건에 기초하여 상기 네트워크에 속한 통신 단말들 각각에 대해 결정된 서비스 품질 값의 평균 값인, 스케줄링 장치(700).
- 제1항 내지 제7항 중 어느 한 항에 있어서,상기 설정된 조건이 만족되었는지 여부를 결정하는 동작은,설정된 값의 범위 내에서 현재 TTI에 대한 기준 값을 결정하는 동작; 및상기 기준 값이 상기 설정된 값의 범위 내에서 결정된 임의의 비교 값보다 큰 경우 상기 설정된 조건이 만족된 것으로 결정하는 동작을 포함하는, 스케줄링 장치(700).
- 제8항에 있어서,상기 기준 값은,시간이 경과할수록 작아지는, 스케줄링 장치(700).
- 네트워크의 스케줄링 방법에 있어서,전송 시간 간격(transmission time interval; TTI)에 관하여 설정된 조건이 만족되었는지 여부를 결정하는 동작;상기 설정된 조건이 만족된 경우, 설정된 TTI가 경과할 때까지 매 TTI마다 현재 TTI의 네트워크 상태, 현재 TTI의 네트워크 상태에서 선택된 스케줄러 종류, 다음 TTI의 네트워크 상태 및 상기 현재 TTI의 네트워크 상태에 대한 실제 보상 값을 포함하는 데이터 어레이를 메모리(710)에 저장하는 동작;상기 메모리(710)에 저장된 데이터 어레이들 중 적어도 하나의 데이터 어레이에 기초하여 제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작;상기 설정된 조건이 만족되지 않은 경우, 상기 현재 TTI의 네트워크의 상태를 상기 제1 뉴럴 네트워크에 입력하는 동작; 및입력된 현재 TTI의 네트워크의 상태에 기초한 상기 제1 뉴럴 네트워크의 출력을 이용하여 스케줄러를 선택하는 동작을 포함하는, 스케줄링 방법.
- 제10항에 있어서,상기 파라미터들을 업데이트하는 동작은,상기 메모리(710)로부터 적어도 하나의 데이터 어레이를 추출하는 동작; 및상기 추출된 데이터 어레이에 기초하여 상기 제1 뉴럴 네트워크의 파라미터들을 조정하는 동작을 더 포함하는, 스케줄링 방법.
- 제11항에 있어서,상기 제1 뉴럴 네트워크의 파라미터들을 조절하는 동작은,상기 추출된 데이터 어레이에 포함된 현재 TTI의 네트워크 상태 및 선택된 스케줄러 종류를 상기 제1 뉴럴 네트워크에 입력하여 추정 보상 값을 결정하는 동작;상기 추출된 데이터 어레이에 포함된 다음 TTI의 네트워크 상태를 제2 뉴럴 네트워크에 입력하여 최대 보상 값을 결정하는 동작;상기 최대 보상 값 및 상기 추출된 데이터 어레이에 포함된 실제 보상 값에 기초하여 목표 보상 값을 결정하는 동작;상기 추정 보상 값과 상기 목표 보상 값 간의 차이에 기초하여 손실 값을 결정하는 동작; 및상기 손실 값이 줄어들도록 상기 제1 뉴럴 네트워크의 파라미터들을 조절하는 동작을 포함하는, 스케줄링 방법.
- 제12항에 있어서,상기 목표 보상 값을 결정하는 동작은,상기 최대 보상 값에 설정된 감가율을 적용하는 동작; 및상기 감가율이 적용된 최대 보상 값과 상기 실제 보상 값을 더하여 상기 목표 보상 값을 결정하는 동작을 포함하는, 스케줄링 방법.
- 제12항에 있어서,상기 제1 뉴럴 네트워크의 파라미터들을 업데이트하는 동작은,주기적으로 상기 제1 뉴럴 네트워크의 파라미터들과 동일하도록 상기 제2 뉴럴 네트워크의 파라미터들을 업데이트하는 동작을 포함하는, 스케줄링 방법.
- 제10항 내지 제14항 중 어느 한 항의 방법을 실행하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기록매체.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/920,417 US20250048352A1 (en) | 2022-04-21 | 2024-10-18 | Network scheduling device and method |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20220049723 | 2022-04-21 | ||
| KR10-2022-0049723 | 2022-04-21 | ||
| KR10-2022-0066233 | 2022-05-30 | ||
| KR1020220066233A KR20230150165A (ko) | 2022-04-21 | 2022-05-30 | 네트워크 스케줄링 장치 및 방법 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/920,417 Continuation US20250048352A1 (en) | 2022-04-21 | 2024-10-18 | Network scheduling device and method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023204399A1 true WO2023204399A1 (ko) | 2023-10-26 |
Family
ID=88420224
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2023/001386 Ceased WO2023204399A1 (ko) | 2022-04-21 | 2023-01-31 | 네트워크 스케줄링 장치 및 방법 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20250048352A1 (ko) |
| WO (1) | WO2023204399A1 (ko) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210136785A1 (en) * | 2019-10-30 | 2021-05-06 | University Of Ottawa | System and method for joint power and resource allocation using reinforcement learning |
| US20210329668A1 (en) * | 2020-04-15 | 2021-10-21 | Samsung Electronics Co., Ltd. | Method and system for radio-resource scheduling in telecommunication-network |
| US20210410161A1 (en) * | 2019-03-15 | 2021-12-30 | Huawei Technologies Co., Ltd. | Scheduling method and apparatus in communication system, and storage medium |
| WO2022010409A1 (en) * | 2020-07-10 | 2022-01-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for deep reinforcement learning (drl) based scheduling in a wireless system |
-
2023
- 2023-01-31 WO PCT/KR2023/001386 patent/WO2023204399A1/ko not_active Ceased
-
2024
- 2024-10-18 US US18/920,417 patent/US20250048352A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210410161A1 (en) * | 2019-03-15 | 2021-12-30 | Huawei Technologies Co., Ltd. | Scheduling method and apparatus in communication system, and storage medium |
| US20210136785A1 (en) * | 2019-10-30 | 2021-05-06 | University Of Ottawa | System and method for joint power and resource allocation using reinforcement learning |
| US20210329668A1 (en) * | 2020-04-15 | 2021-10-21 | Samsung Electronics Co., Ltd. | Method and system for radio-resource scheduling in telecommunication-network |
| WO2022010409A1 (en) * | 2020-07-10 | 2022-01-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for deep reinforcement learning (drl) based scheduling in a wireless system |
Non-Patent Citations (1)
| Title |
|---|
| COMSA IOAN-SORIN; ZHANG SIJING; AYDIN MEHMET EMIN; KUONEN PIERRE; LU YAO; TRESTIAN RAMONA; GHINEA GHEORGHITA: "Towards 5G: A Reinforcement Learning-Based Scheduling Solution for Data Traffic Management", IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, IEEE, USA, vol. 15, no. 4, 1 December 2018 (2018-12-01), USA , pages 1661 - 1675, XP011700530, DOI: 10.1109/TNSM.2018.2863563 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250048352A1 (en) | 2025-02-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021096005A1 (en) | Method and system for neural network execution distribution | |
| US5546389A (en) | Method of controlling access to a buffer and a device for temporary storage of data packets and an exchange with such a device | |
| US7023797B2 (en) | Flexible aggregation of output links | |
| US20060227771A1 (en) | Dynamic service management for multicore processors | |
| CN111181873B (zh) | 数据发送方法、装置、存储介质和电子设备 | |
| WO2012067351A2 (ko) | 소프트웨어 개발 방법 및 이를 위한 장치 | |
| US6907453B2 (en) | Per CoS memory partitioning | |
| CN114222371A (zh) | 一种eMBB和uRLLC设备共存的流量调度方法 | |
| US20080175147A1 (en) | Admission control for packet connections | |
| KR20230150878A (ko) | 데이터 송신 방법 및 장치, 그리고 서버, 저장 매체, 및 프로그램 제품 | |
| CN106357726A (zh) | 负载均衡方法及装置 | |
| EP2916503A1 (en) | Queue scheduling method, apparatus and system | |
| US9755983B1 (en) | Minipacket flow control | |
| WO2023204399A1 (ko) | 네트워크 스케줄링 장치 및 방법 | |
| JPWO2011118542A1 (ja) | ロードバランス制御ユニット、ロードバランス制御方法、および記憶媒体 | |
| EP3345096A1 (en) | Method and apparatus for adaptive cache management | |
| WO2023106466A1 (ko) | 학습 클라우드 유형 기반의 인공지능 클라우드 학습장치 및 방법 | |
| CN114979844B (zh) | 一种光交换机以及数据通信系统 | |
| Chang et al. | Admission control policies for two-stage tandem queues with no waiting spaces | |
| US20150003250A1 (en) | Credit-Based Resource Allocator Circuit | |
| WO2023153898A1 (ko) | 하드웨어 자원을 관리하는 전자 장치 및 그 동작 방법 | |
| WO2021149845A1 (ko) | 연합된 디스틸레이션 기반의 러닝 구동 방법, 러닝 구동 서버 및 러닝 구동 단말 | |
| KR20230150165A (ko) | 네트워크 스케줄링 장치 및 방법 | |
| WO2018066823A1 (ko) | 단말기 무선자원의 스케줄링을 위한 방법 및 장치 | |
| US20050132078A1 (en) | Facilitating transmission of a packet in accordance with a number of transmit buffers to be associated with the packet |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23791983 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23791983 Country of ref document: EP Kind code of ref document: A1 |