WO2024063451A1 - 전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치 - Google Patents

전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치 Download PDF

Info

Publication number
WO2024063451A1
WO2024063451A1 PCT/KR2023/013909 KR2023013909W WO2024063451A1 WO 2024063451 A1 WO2024063451 A1 WO 2024063451A1 KR 2023013909 W KR2023013909 W KR 2023013909W WO 2024063451 A1 WO2024063451 A1 WO 2024063451A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
traffic
transmission path
segment
data
Prior art date
Application number
PCT/KR2023/013909
Other languages
English (en)
French (fr)
Inventor
김태우
김희곤
류승호
유재형
김재곤
홍원기
Original Assignee
삼성전자주식회사
포항공과대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from KR1020220131630A external-priority patent/KR20240041768A/ko
Application filed by 삼성전자주식회사, 포항공과대학교 산학협력단 filed Critical 삼성전자주식회사
Publication of WO2024063451A1 publication Critical patent/WO2024063451A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth

Definitions

  • the disclosure below relates to a method for determining a transmission path and an electronic device that performs the method.
  • Multi-protocol label switching is used in traffic engineering techniques.
  • devices that support MPLS are defined as LSRs (label-switching routers), and LSRs located at the network edge are called LERs (label edge routers).
  • LSP label switched path
  • TE tunnels are defined for traffic engineering.
  • a TE tunnel refers to an LSP that represents data flow between a specific source node and a destination node.
  • the entry node of the tunnel is called Head-End and the exit node of the tunnel is defined as Tail-End.
  • MPLS extends OSPF and ISIS for traffic engineering to collect physical bandwidth, RSVP configured bandwidth, RSVP available bandwidth, and link TE metrics. The collected information can be shared between LSRs and used to select a path that satisfies the traffic bandwidth.
  • RSVP delivers a Path message to the LSP through which traffic will be delivered, reserves bandwidth in the corresponding LSR, and adds label routing information. Traffic is then delivered along the path specified in RSVP.
  • MPLS provides FRR for TE tunnels by utilizing the IGP's LFA to minimize traffic loss in the event of link or node failure.
  • the TE tunnel is separated based on the failed link, a new route is recalculated, and traffic is transmitted to the backup route.
  • the TE tunnel is separated based on the failed node, a new path is calculated, and traffic is transmitted to the backup path.
  • Electronic devices may include a processor and a memory that is electrically connected to the processor and stores instructions that can be executed by the processor.
  • the processor may identify network data including service data regarding traffic generated from a plurality of network devices and link information of the plurality of network devices.
  • the processor creates a segment regarding the transmission path of the traffic using the service data and the network data according to a policy determined from a decision module learned according to a deep reinforcement learning method. can be decided.
  • the processor may determine a transmission path for the traffic based on the segment.
  • a transmission path determination method includes an operation of identifying network data including service data regarding traffic generated from a plurality of network devices and link information of the plurality of network devices, a deep reinforcement learning method.
  • a decision module learning method includes the operation of determining a learning segment regarding a transmission path of traffic included in the learning service data using learning data generated based on learning network data and learning service data, An operation of determining a learning transmission path for traffic included in the learning service data based on a learning segment, and a decision module to maximize the reward determined based on the learning transmission path according to a deep reinforcement learning method.
  • An operation of learning including an operation of determining a policy for determining a segment regarding the transmission path of traffic included in the service data in response to network data and service data identified from a plurality of network devices. can do.
  • FIG. 1 is a diagram illustrating an operation of an electronic device determining a traffic transmission path according to various embodiments.
  • Figure 2 is an operation flowchart of a method for determining a traffic transmission path according to various embodiments.
  • Figure 3 is a diagram showing an operation of a learning device learning a decision module according to various embodiments.
  • FIG. 4 is an operational flowchart of a decision module learning method according to various embodiments.
  • Figure 5 is a diagram showing an episode for learning a decision module according to various embodiments.
  • Figure 6 is a diagram illustrating the operation of a decision module determining a segment and a transmission path for traffic according to various embodiments.
  • a or B “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C”, and “A Each of phrases such as “at least one of , B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof.
  • FIG. 1 is a diagram illustrating an operation of an electronic device 100 determining a traffic transmission path according to various embodiments.
  • an electronic device 100 may include at least one of a decision module 110 and a network controller 180, or a combination thereof.
  • the electronic device 100 may include a processor (not shown).
  • the processor may, for example, execute software (e.g., a program) to control at least one other component (e.g., hardware or software component) of the electronic device 100 connected to the processor, perform various data processing or Calculations can be performed.
  • the processor stores commands or data received from another component (e.g., decision module 110 or network controller 180) in volatile memory, and Commands or data stored in can be processed and the resulting data can be stored in non-volatile memory.
  • the processor is a main processor (e.g., central processing unit or application processor) or an auxiliary processor that can operate independently or together (e.g., graphics processing unit, neural network 160 processing unit (NPU)) , an image signal processor, a sensor hub processor, or a communication processor).
  • auxiliary processor may be set to use less power than the main processor or be specialized for a designated function.
  • the auxiliary processor may be implemented separately from the main processor or as part of it.
  • the electronic device 100 may include memory (not shown).
  • the memory may store various data used by at least one component (eg, processor or decision module 110) of the electronic device 100.
  • Data may include, for example, input data or output data for software (e.g., a program) and instructions related thereto.
  • Memory may include volatile memory or non-volatile memory.
  • the electronic device 100 may identify data from a plurality of network devices (e.g., node 1, ..., node n (210-1, ..., 210-n) of FIG. 1). For example, the electronic device 100 may generate network data 140 and service data 150 using data identified from a plurality of network devices 210-1, ..., 210-n. there is.
  • a plurality of network devices e.g., node 1, ..., node n (210-1, ..., 210-n) of FIG. 1).
  • the electronic device 100 may generate network data 140 and service data 150 using data identified from a plurality of network devices 210-1, ..., 210-n. there is.
  • the network controller 180 of the electronic device 100 may identify at least one of service data 150 or network data 140 from the network 200.
  • the network monitor 181 may collect status and traffic information of a plurality of network devices 210-1, ..., 210-n from the network 200.
  • the electronic device 100 based on the status and traffic information of a plurality of network devices 210-1, ..., 210-n collected by the network monitor 181, the electronic device 100 provides service data 150 and /Or network data 140 may be generated.
  • the network data 140 may include link information of a plurality of network devices 210-1, ..., 210-n.
  • the network data 140 may include at least one of node data 141 and link data 142, or a combination thereof.
  • the node data 141 may include available resource information of nodes included in the plurality of network devices 210-1, ..., 210-n.
  • the link data 142 may include available bandwidth information and internal gateway routing cost (IGP cost) of a plurality of network devices 210-1, ..., 210-n. .
  • the service data 150 may include information about traffic generated from a plurality of network devices 210-1, ..., 210-n.
  • the service data 150 may include traffic destination node, required bandwidth, type of service, and service level agreement (SLA) violation information.
  • SLA service level agreement
  • the electronic device 100 may generate network data 140 expressed in a matrix form.
  • the electronic device 100 may generate service data 150 in the form of a series of one-dimensional vectors.
  • the generated network data 140 and service data 150 may be stored in memory.
  • the electronic device 100 may determine a segment related to a traffic transmission path using the service data 150 and network data 140 according to a policy.
  • a policy may be created from decision module 110.
  • the decision module 110 may be learned according to a deep reinforcement learning method.
  • the decision module 110 may learn a deep reinforcement learning method according to learning data generated based on the learning network data 140 and the learning service data 150.
  • training data may include current state, action, reward, and next state.
  • the current state may include learning network data 140 and learning service data 150.
  • the action may include a learning segment regarding a learning transmission path of traffic included in the learning service data 150.
  • the reward may be determined based on the minimum available bandwidth of the plurality of network devices 210-1, ..., 210-n.
  • the next state may mean a state in which traffic is allocated according to the action in the current state.
  • the data used for learning of the decision module 110 is distinguished from the network data 140 and service data 150 and is referred to as learning network data 140 and learning service data 150.
  • Learning network data 140 and learning service data 150 may represent substantially the same data as network data 140 and service data 150.
  • the segment and transmission path determined in the learning process of the decision module 110 may be called a learning segment and a learning transmission path, respectively, but the learning segment and the learning transmission path are respectively a segment and a transmission path. It may be substantially the same as the path.
  • the electronic device 100 may generate the current state using network data 140 and service data 150.
  • the current state generated by the electronic device 100 may mean substantially the same data as the current state included in the learning data of the decision module 110.
  • the electronic device 100 may use the generated current state to determine an action to maximize the reward according to the policy.
  • an action that maximizes a reward may represent determining a segment of traffic.
  • a segment may refer to a path for determining the transmission path of traffic according to a segment routing (SR) method.
  • the electronic device 100 may determine a transmission path for traffic that connects from a traffic origin node to a destination node via a node designated as a segment.
  • SR segment routing
  • the electronic device 100 may determine a traffic transmission path based on the segment.
  • the network controller 180 may determine a segment and a traffic transmission path according to a policy.
  • the electronic device 100 may designate a traffic transmission path up to a path designated as a segment according to a shortest path algorithm.
  • the electronic device 100 may determine a traffic transmission path from a node designated as a segment to a destination node according to a shortest path algorithm.
  • segment 1 and segment 2 may be determined.
  • the electronic device 100 uses the shortest path from the source node of traffic 1 to the node determined as segment 1, the shortest path from segment 1 to the node determined as segment 2, and the shortest path from segment 2 to the destination node, and traffic 1
  • the entire transmission path can be determined.
  • the electronic device 100 may control a plurality of network devices 210-1, ..., 210-n based on the determined transmission path.
  • the network configuration device 182 of the network controller 180 may control a plurality of network devices 210-1, ..., 210-n according to the determined traffic transmission path.
  • the network configuration device 182 of the electronic device 100 may control a plurality of network devices 210-1, ..., 210-n or nodes so that traffic data is transmitted according to a transmission path.
  • Figure 2 is an operation flowchart of a method for determining a traffic transmission path according to various embodiments.
  • each operation may be performed sequentially, but is not necessarily performed sequentially.
  • the order of each operation may be changed, and at least two operations may be performed in parallel.
  • operations 210 to 230 may be understood as being performed by a processor (e.g., the processor of FIG. 1) of an electronic device (e.g., the electronic device 101 of FIG. 1).
  • a processor e.g., the processor of FIG. 1
  • an electronic device e.g., the electronic device 101 of FIG. 1.
  • an electronic device collects service data (e.g., the service data 150 of FIG. 1) and network data (e.g., the service data 150 of FIG. 1) in operation 210.
  • service data e.g., the service data 150 of FIG. 1
  • network data e.g., the service data 150 of FIG. 1
  • Example: network data 140 in FIG. 1 can be identified.
  • the electronic device 100 identifies data from a plurality of network devices (e.g., a plurality of network devices 210-1, ..., 210-n in FIG. 1) and uses the identified data to , service data 150 and network data 140 can be generated.
  • the electronic device 100 may designate a segment for a traffic transmission path according to a policy.
  • a policy may be generated from a decision module (e.g., decision module 110 in FIG. 1) learned according to a deep reinforcement learning approach.
  • the electronic device 100 may determine a traffic transmission path based on the segment. For example, the electronic device 100 operates according to the shortest path algorithm, the shortest path from the source node of the traffic to the node determined as the segment, the shortest path from the node determined as the segment to the node determined as the segment, and the shortest path from the node determined as the segment to the destination.
  • the overall transmission path of traffic can be determined using at least one of the shortest paths to the node, or a combination thereof.
  • FIG. 3 is a diagram illustrating an operation of the learning device 300 to learn the decision module 310 (eg, the decision module 110 of FIG. 1 ) according to various embodiments.
  • the learning device 300 may include at least one of a memory 330 and a processor 320.
  • the information regarding the memory and processor described with respect to the electronic device 100 of FIG. 1 may be applied substantially in the same way.
  • the learning device 300 can identify data from the network 200.
  • the learning device 300 uses data identified from a plurality of network devices (e.g., node 1, ..., node n (210-1, ..., 210-n) in FIG. 3) , learning network data 140 and learning service data 150 can be generated.
  • the learning network data 140 and the learning service data 150 may represent substantially the same data as the network data 140 and service data 150 described in FIG. 1 .
  • the decision module 310 may use the learning network data 140 and the learning service data 150 to generate learning data.
  • the training data may be data for training the decision module 310 according to a deep reinforcement learning method.
  • Learning data may include current state, action, reward, and next state.
  • learning network data 140 may include node data 141 and link data 142. The description of the node data 141 and link data 142 of FIG. 1 may be applied substantially in the same way to the node data 141 and link data 142 of FIG. 3 .
  • the current state may include information about the status and traffic of a plurality of network devices 210-1, ..., 210-n based on the learning network data 140 and the learning service data 150.
  • an action may represent an action that determines a segment of traffic in the current state.
  • the reward may be determined based on the state of the network 200 when the transmission path for all or part of the traffic is determined according to the segment determined in the current state according to the action.
  • the reward may be determined based on the minimum available bandwidth of the plurality of network devices 210-1, ..., 210-n.
  • the following state is information about the status and traffic of a plurality of network devices (210-1, ..., 210-n) when all or part of the traffic transmission path is determined according to the action in the current state. can represent.
  • the decision module 310 may be learned according to a deep reinforcement learning method.
  • the decision module 310 may be learned using models such as dueling double deep Q Network (DDDQN), double deep Q Network (DDQN), deep Q network (DQN), advantage actor-critic (A2C), etc. You can.
  • DDDQN dueling double deep Q Network
  • DDQN double deep Q Network
  • DQN deep Q network
  • A2C advantage actor-critic
  • decision module 310 may include neural network 160 and be trained to maximize rewards.
  • decision module 310 may learn a policy such that it selects the action that maximizes the reward under the current state.
  • the optimization module 170 may use a value function algorithm or a policy algorithm to determine a policy for selecting an action that maximizes the reward in the current state.
  • the optimization module 170 may determine a policy using a value function algorithm or a policy algorithm according to a model of deep reinforcement learning.
  • the neural network 160 may approximate a value function according to the current state and action, or approximate a value according to the current state, according to a model of deep reinforcement learning. Neural network 160 can be trained to maximize rewards.
  • the learning device 300 uses the learning data generated based on the learning network data 140 and the learning service data 150 in the decision module 310 to determine the transmission path of the traffic included in the learning data.
  • Learning segments can be determined.
  • the learning device 300 may determine a learning transmission path for traffic included in the learning service data 150 based on the learning segment in the decision module 310 .
  • Learning device 300 may train decision module 310 to maximize rewards based on the learning transmission path.
  • the reward may be determined to be larger as the minimum available bandwidth of the plurality of network devices 210-1, ..., 210-n along the learning transmission path is larger.
  • the reward is (minimum available bandwidth / maximum available bandwidth), (minimum available bandwidth / maximum bandwidth), minimum available bandwidth, etc. in the links of multiple network devices (210-1, ..., 210-n). can be calculated together.
  • the reward may be determined based on the minimum available bandwidth after all or part of the traffic transmission path is determined depending on the action in the current state.
  • the learning device 300 can learn the decision module 310 according to a deep reinforcement learning method, and the model for deep reinforcement learning is not limited to the examples above.
  • the learning device 300 may train the decision module 310 using a known method regarding deep reinforcement learning.
  • the learning network data 140 and the learning service data 150 are shown as being generated by the decision module 310 using data received from the learning device 300, but the learning device 300 is not limited thereto. 300 may generate learning network data 140 and learning service data 150 and input them into the decision module 310.
  • FIG. 4 is an operational flowchart of a method for learning a decision module (eg, the decision module 310 of FIG. 3 ) according to various embodiments.
  • a learning device (e.g., the learning device 300 of FIG. 3) uses learning data in operation 410 to generate learning service data (e.g., the learning device 300 of FIG. 1 and FIG. 3).
  • a learning segment regarding the transmission path of traffic included in the learning service data 150 may be determined.
  • learning device 300 may cause decision module 310 to determine a learning segment.
  • learning data may be generated based on learning network data (eg, learning network data 140 in FIGS. 1 and 3) and learning service data 150.
  • the learning device 300 receives data from a plurality of network devices (e.g., a plurality of network devices 210-1, ..., 210-n in FIGS. 1 and 3) included in the network. Using this, learning network data 140 and learning service data 150 can be generated.
  • the learning device 300 may determine a learning transmission path for traffic included in the learning service data 150 based on the learning segment in operation 420 .
  • the learning device 300 may use the decision module 310 to determine a learning transmission path for traffic according to the learning segment.
  • the learning device 300 may train the decision module 310 to maximize the reward in operation 430.
  • the learning device 300 may learn the decision module 310 according to a deep reinforcement learning method.
  • the decision module 310 may output q value according to the current state and action, or may include a neural network (eg, neural network 160 in FIGS. 1 and 3) that outputs a value according to the current state.
  • the decision module 310 may select an action based on the output value of the neural network 160.
  • the learning device 300 may train the decision module 310 to maximize rewards according to the action.
  • the learning device 300 may determine a policy for determining a segment for a transmission path of traffic in operation 440.
  • the electronic device 100 may output an action to maximize the reward in the current state according to the network data 140 and service data 150 according to the policy.
  • An action may represent an action that determines a segment for traffic.
  • each operation may be performed sequentially, but is not necessarily performed sequentially.
  • the order of each operation may be changed, and at least two operations may be performed in parallel.
  • operations 410 to 440 shown in FIG. 4 are performed by a processor (e.g., electronic device 101 of FIG. 1) or a learning device (e.g., learning device 300 of FIG. 3). : It can be understood as being performed by the processor of the electronic device 101 in FIG. 1 and the processor 320 in FIG. 3.
  • a processor e.g., electronic device 101 of FIG. 1
  • a learning device e.g., learning device 300 of FIG. 3
  • FIG. 5 is a diagram illustrating an episode for learning a decision module (eg, the decision module 310 of FIG. 3) according to various embodiments.
  • a learning device e.g., learning device 300 in FIG. 3
  • learning network data e.g., network data 140 in FIGS. 1 and 3
  • learning service data e.g., network data 140 in FIG. 1 and FIG. 3
  • the decision module 310 can be trained to determine a learning segment at every step until a preset threshold number of services determined based on the service data 150 of FIG. 3 are input.
  • the decision module 310 determines a learning segment in step 1 (530-1), step 2 (530-2), and step 3 (530-3), and generates learning service data 1 (150-) according to the determined learning segment.
  • the learning transmission path for the traffic included in 1) can be determined.
  • step 3 When service 2 (510-2) according to learning service data 2 (150-2) and network data 2 (140-2) is input to the decision module 310, the decision module 310 performs step 3 (530-3). In the next step, a learning segment of traffic can be determined according to Service 2, and a learning transmission path can be determined according to the learning segment.
  • An episode for learning of the decision module 310 may proceed until a preset threshold number of services are input. For example, when the preset threshold number is n, service n (510-n) according to learning service data n (150-n) and learning network data (140-n) in step m (530-m) as shown in FIG. If n) is input, the episode for learning of the decision module 310 may end in operation 540.
  • the learning device 300 may use learning data to generate an episode including a plurality of arbitrary services.
  • the learning device 300 may generate an episode including a preset threshold number of services.
  • the learning device 300 can train the decision module 310 using the generated episode.
  • the learning device 300 may train the decision module 310 to determine a preset number of learning segments for traffic included in the learning service data 150. For example, when the preset number is n, in FIG. 5, the decision module 310 determines n segments for each of the services 510-1, ..., 510-n, and learns and transmits traffic. You can decide the route.
  • the learning device 300 is trained according to episodes including a preset threshold number of services, and thus can learn the decision module 310 by considering dynamically changing network conditions.
  • the learning device 300 according to FIG. 5 can learn the decision module 310 according to an online learning method, and the electronic device 100 uses the determined policy to route traffic in a rapidly changing network situation. can be performed.
  • FIG. 6 is a diagram illustrating an operation of a decision module (e.g., the decision module 310 of FIG. 3) determining a segment and a traffic transmission path according to various embodiments.
  • Figure 6 shows an operation in which the decision module 310 determines a segment and determines a transmission path for traffic whose origin node is node 1 (210-1) and the destination node is node 16 (210-16). represents.
  • the decision module 310 may determine node 5 (210-5) as a segment according to action 1 in operation 610, according to the input learning data.
  • the decision module 310 operates from node 1 (210-1), which is the starting node, to node 5 (210-5), which is designated as a segment, according to the shortest path algorithm, in operation 615 from node 1 (210-1) to node 3 ( 210-3) -
  • the transmission path leading to node 5 (210-5) can be determined.
  • Determination module 310 may determine node 15 (210-15) as a segment according to action 2 in operation 620. Decision module 310 determines the segment from node 5 (210-5) to node 15 (210-15) designated as a segment, according to a shortest path algorithm, in operation 625, from node 5 (210-5) to node 14 (210-14). )-The transmission path leading to node 15 (210-15) can be determined.
  • Determination module 310 may determine node 16 (210-16) as a segment according to action 3 in operation 630.
  • the decision module 310 performs a route from node 5 (210-5) to node 16 (210-16) in operation 635, according to a shortest path algorithm from node 15 (210-15) to node 16 (210-16) designated as a segment. ) can be determined.
  • the description of the operation of the determination module 310 determining a segment related to the traffic transmission path and determining the traffic transmission path according to the determined segment refers to the network data identified by the electronic device 100 of FIG. 1 ( 140) and service data 150, the segment for the traffic transmission path may be determined according to the policy, and the traffic transmission path may be determined in substantially the same manner as the operation of determining the traffic transmission path according to the determined segment.
  • An electronic device may include a processor and a memory that is electrically connected to the processor and stores instructions that can be executed by the processor.
  • the processor collects service data regarding traffic generated from a plurality of network devices (e.g., node 1, ..., node n (210-1, ..., 210-n) in FIG. 1) (e.g., service data 150 in FIG. 1) and network data (e.g., network data 140 in FIG. 1) including link information of the plurality of network devices 210-1, ..., 210-n. ) can be identified.
  • the processor according to a policy determined from a decision module (e.g., the decision module 110 in FIG.
  • the processor may determine a transmission path for the traffic based on the segment.
  • the decision modules 110 and 310 use learning data generated based on the learning network data 140 and the learning service data 150 to determine the transmission path of traffic included in the learning service data 150. Learning segments can be determined. The decision modules 110 and 310 may determine a learning transmission path for traffic included in the learning service data 150 based on the learning segment. The decision modules 110 and 310 may be trained to maximize the reward determined based on the learning transmission path.
  • the decision modules 110 and 310 learn to determine the learning segment at every step until a preset threshold number of services determined based on the learning network data 140 and the learning service data 150 are input. It can be.
  • the determination modules 110 and 310 may determine a preset number of learning segments for traffic included in the learning service data 150.
  • the reward may be determined to be larger as the minimum available bandwidth of the plurality of network devices 210-1, ..., 210-n along the learning transmission path is larger.
  • the processor may determine a transmission path for the traffic according to a shortest path algorithm based on the segment.
  • a transmission path determination method includes service data 150 regarding traffic generated from a plurality of network devices 210-1, ..., 210-n, and the plurality of network devices 210-1, . .., 210-n), an operation of identifying network data 140 including link information, and a policy determined from the decision modules 110 and 310 learned according to a deep reinforcement learning method. Accordingly, an operation of determining a segment regarding a transmission path of the traffic using the service data 150 and the network data 140 and an operation of determining a transmission path of the traffic based on the segment. may include.
  • the decision modules 110 and 310 use learning data generated based on the learning network data 140 and the learning service data 150 to determine the transmission path of traffic included in the learning service data 150. Learning segments can be determined. The decision modules 110 and 310 may determine a learning transmission path for traffic included in the learning service data 150 based on the learning segment. The decision modules 110 and 310 may be trained to maximize the reward determined based on the learning transmission path.
  • the decision modules 110 and 310 learn to determine the learning segment at every step until a preset threshold number of services determined based on the learning network data 140 and the learning service data 150 are input. It can be.
  • the determination modules 110 and 310 may determine a preset number of learning segments for traffic included in the learning service data 150.
  • the reward may be determined to be larger as the minimum available bandwidth of the plurality of network devices 210-1, ..., 210-n along the learning transmission path is larger.
  • the operation of determining the transmission path of the traffic may determine the transmission path of the traffic according to a shortest path algorithm based on the segment.
  • the decision module learning method is based on learning network data (e.g., network data 140 in FIGS. 1 and 3) and learning service data (e.g., service data 150 in FIGS. 1 and 3).
  • An operation of determining a learning segment related to a transmission path of traffic included in the learning service data 150 using the learning data generated, based on the learning segment, traffic included in the learning service data 150 An operation of determining a learning transmission path, an operation of training the decision modules 110 and 310 to maximize the reward determined based on the learning transmission path according to a deep reinforcement learning method, a plurality of network devices ( Example: Corresponding to the network data 140 and service data 150 identified from node 1, ..., node n (210-1, ..., 210-n) of FIGS. 1 and 3, the It may include an operation of determining a policy for determining a segment regarding the transmission path of traffic included in the service data 150.
  • the operation of training the decision modules 110 and 310 includes the learning segment at every step until a preset threshold number of services determined based on the learning network data 140 and the learning service data 150 are input.
  • the decision modules 110 and 310 can be trained to determine .
  • the operation of determining learning segments related to the transmission path of the traffic may determine a preset number of learning segments for traffic included in the learning service data 150.
  • the electronic device 100 may be of various types.
  • the electronic device 100 may include, for example, a portable communication device (eg, a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smartphone
  • a computer device e.g., a tablet, or a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a camera
  • a wearable device e.g., a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart watch, or a smart
  • first, second, or first or second may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., 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.” Where mentioned, it means that 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 are software (e.g., computer) including one or more instructions stored in a storage medium (e.g., internal memory or external memory) that can be read by a machine (e.g., electronic device 100).
  • a storage medium e.g., internal memory or external memory
  • a machine e.g., electronic device 100
  • a processor e.g., processor
  • a device e.g, electronic device 100
  • 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 identically or similarly to 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (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)

Abstract

전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치가 개시된다. 다양한 실시예들에 따른 전자 장치는 프로세서 및 상기 프로세서와 전기적으로 연결되고, 상기 프로세서에 의해 실행될 수 있는 명령어를 저장하는 메모리를 포함하고, 상기 프로세서는, 상기 명령어가 실행될 때, 복수의 네트워크 장치로부터 발생한 트래픽에 관한 서비스 데이터 및 상기 복수의 네트워크 장치의 링크 정보를 포함하는 네트워크 데이터를 식별하고, 심층 강화 학습(deep reinforcement learning) 방식에 따라 학습된 결정 모듈로부터 결정된 정책(policy)에 따라, 상기 서비스 데이터 및 상기 네트워크 데이터를 이용하여, 상기 트래픽의 전송 경로에 관한 세그먼트(segment)를 결정하고, 상기 세그먼트에 기초하여, 상기 트래픽의 전송 경로를 결정할 수 있다.

Description

전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치
아래의 개시는 전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치에 관한 것이다.
트래픽 엔지니어링 기술에서 다중 프로토콜 레이블 스위칭(MPLS: multi-protocol label switching)이 사용된다. MPLS 도메인에서는 MPLS을 지원하는 장비를 LSR (label-switching router)로 정의하고 네트워크 Edge에 위치하는 LSR를 LER (label edge router)로 호칭한다.
LER에서는 MPLS 네트워크로 들어오는 데이터에 대해서 레이블을 추가하고 나가는 데이터에 대해서는 레이블을 삭제한다. 데이터에 추가된 레이블은 MPLS 네트워크 내에서 전송 경로를 지정하는데 사용되고, MPLS에서 레이블에 의해 정해진 전송 경로를 LSP (label switched path)라고 한다.
MPLS에서는 트래픽 엔지니어링을 위한 TE 터널을 정의하고. TE 터널은 특정 출발 노드에서 도착 노드 사이의 데이터 플로우를 나타내는 LSP를 의미한다. TE 터널에서 터널의 진입 노드를 Head-End로 부르고 터널의 출구 노드를 Tail-End로 정의한다. MPLS에서는 트래픽 엔지니어링을 위해 OSPF와 ISIS를 확장하여 물리 대역폭, RSVP 설정된 대역폭, RSVP 가용 대역폭, 링크 TE 메트릭 등을 수집한다. 수집된 정보들은 LSR 간에 공유되어 트래픽 대역폭을 만족하는 경로를 선택하는데 사용될 수 있다.
트래픽을 전송할 경로 (TE 터널)이 정해지면 RSVP-TE를 통해서 해당 경로를 통해서 트래픽 전송을 위해 실제로 경로를 설정한다. RSVP는 트래픽이 전달될 LSP에 Path 메시지를 전달하여 해당 LSR에 대역폭을 예약하고 레이블 라우팅 정보를 추가하고, 이후 트래픽은 RSVP에서 지정한 경로를 따라서 전달된다.
MPLS는 링크나 노드 장애 시 트래픽 유실을 최소화하기 위해서 IGP의 LFA를 활용하여 TE 터널에 대한 FRR을 제공한다. 링크 장애가 발생하면 장애가 난 링크를 기준으로 TE 터널을 분리하고 새로운 경로를 재계산하여 백업 경로로 트래픽을 전송한다.
노드 장애가 발생한 경우도 링크 장애와 동일하게 장애가 난 노드를 기준으로 TE 터널을 분리하고, 새로운 경로를 계산하여 백업 경로로 트래픽을 전송한다.
다양한 실시예들에 따른 전자 장치는 프로세서 및 상기 프로세서와 전기적으로 연결되고, 상기 프로세서에 의해 실행될 수 있는 명령어를 저장하는 메모리를 포함할 수 있다. 상기 프로세서는, 상기 명령어가 실행될 때, 복수의 네트워크 장치로부터 발생한 트래픽에 관한 서비스 데이터 및 상기 복수의 네트워크 장치의 링크 정보를 포함하는 네트워크 데이터를 식별할 수 있다. 상기 프로세서는, 심층 강화 학습(deep reinforcement learning) 방식에 따라 학습된 결정 모듈로부터 결정된 정책(policy)에 따라, 상기 서비스 데이터 및 상기 네트워크 데이터를 이용하여, 상기 트래픽의 전송 경로에 관한 세그먼트(segment)를 결정할 수 있다. 상기 프로세서는, 상기 세그먼트에 기초하여, 상기 트래픽의 전송 경로를 결정할 수 있다.
다양한 실시예들에 따른 전송 경로 결정 방법은 복수의 네트워크 장치로부터 발생한 트래픽에 관한 서비스 데이터 및 상기 복수의 네트워크 장치의 링크 정보를 포함하는 네트워크 데이터를 식별하는 동작, 심층 강화 학습(deep reinforcement learning) 방식에 따라 학습된 결정 모듈로부터 결정된 정책(policy)에 따라, 상기 서비스 데이터 및 상기 네트워크 데이터를 이용하여, 상기 트래픽의 전송 경로에 관한 세그먼트(segment)를 결정하는 동작 및 상기 세그먼트에 기초하여, 상기 트래픽의 전송 경로를 결정하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 결정 모듈 학습 방법은 학습 네트워크 데이터 및 학습 서비스 데이터에 기초하여 생성된 학습 데이터를 이용하여, 상기 학습 서비스 데이터에 포함된 트래픽의 전송 경로에 관한 학습 세그먼트를 결정하는 동작, 상기 학습 세그먼트에 기초하여, 상기 학습 서비스 데이터에 포함된 트래픽의 학습 전송 경로를 결정하는 동작, 심층 강화 학습(deep reinforcement learning) 방식에 따라, 상기 학습 전송 경로에 기초하여 결정된 리워드를 최대화하도록 결정 모듈을 학습시키는 동작, 복수의 네트워크 장치로부터 식별된 네트워크 데이터 및 서비스 데이터에 대응하여, 상기 서비스 데이터에 포함된 트래픽의 전송 경로에 관한 세그먼트(segment)를 결정하기 위한 정책(policy)를 결정하는 동작을 포함할 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치가 트래픽의 전송 경로를 결정하는 동작을 나타낸 도면이다.
도 2는 다양한 실시예들에 따른 트래픽의 전송 경로 결정 방법의 동작 흐름도이다.
도 3은 다양한 실시예들에 따른 학습 장치가 결정 모듈을 학습시키는 동작을 나타낸 도면이다.
도 4는 다양한 실시예들에 따른 결정 모듈 학습 방법의 동작 흐름도이다.
도 5는 다양한 실시예들에 따른 결정 모듈을 학습시키기 위한 에피소드를 나타낸 도면이다.
도 6은 다양한 실시예들에 따른 결정 모듈이 세그먼트를 결정하고, 트래픽의 전송 경로를 결정하는 동작을 나타낸 도면이다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치(100)가 트래픽의 전송 경로를 결정하는 동작을 나타낸 도면이다.
도 1을 참조하면, 다양한 실시예들에 따른 전자 장치(100)는 결정 모듈(110) 및 네트워크 컨트롤러(180) 중 적어도 하나, 또는 이들의 조합을 포함할 수 있다.
예를 들어, 전자 장치(100)는 프로세서(미도시)를 포함할 수 있다. 프로세서는, 예를 들면, 소프트웨어(예: 프로그램)를 실행하여 프로세서에 연결된 전자 장치(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서는 다른 구성요소(예: 결정 모듈(110) 또는 네트워크 컨트롤러(180))로부터 수신된 명령 또는 데이터를 휘발성 메모리에 저장하고, 휘발성 메모리에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다. 일실시예에 따르면, 프로세서는 메인 프로세서(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(예: 그래픽 처리 장치, 신경망(160) 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(100)가 메인 프로세서 및 보조 프로세서를 포함하는 경우, 보조 프로세서는 메인 프로세서보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서는 메인 프로세서와 별개로, 또는 그 일부로서 구현될 수 있다.
예를 들어, 전자 장치(100)는 메모리(미도시)를 포함할 수 있다. 메모리는, 전자 장치(100)의 적어도 하나의 구성요소(예: 프로세서 또는 결정 모듈(110))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리는, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
일례로, 전자 장치(100)는 복수의 네트워크 장치(예: 도 1의 노드 1, ..., 노드 n(210-1, ..., 210-n))로부터 데이터를 식별할 수 있다. 예를 들어, 전자 장치(100)는 복수의 네트워크 장치(210-1, ..., 210-n)로부터 식별한 데이터를 이용하여, 네트워크 데이터(140) 및 서비스 데이터(150)를 생성할 수 있다.
일례로, 전자 장치(100)의 네트워크 컨트롤러(180)는 네트워크(200)로부터 서비스 데이터(150) 또는 네트워크 데이터(140) 중 적어도 하나를 식별할 수 있다. 예를 들어, 네트워크 모니터(181)(network monitor)는 네트워크(200)로부터 복수의 네트워크 장치(210-1, ..., 210-n)의 상태와 트래픽 정보를 수집할 수 있다. 예를 들어, 네트워크 모니터(181)에서 수집한 복수의 네트워크 장치(210-1, ..., 210-n)의 상태 및 트래픽 정보에 기초하여, 전자 장치(100)는 서비스 데이터(150) 및/또는 네트워크 데이터(140)를 생성할 수 있다.
예를 들어, 네트워크 데이터(140)는 복수의 네트워크 장치(210-1, ..., 210-n)의 링크 정보를 포함할 수 있다. 예를 들어, 네트워크 데이터(140)는 노드 데이터(141) 및 링크 데이터(142) 중 적어도 하나, 또는 이들의 조합을 포함할 수 있다. 예를 들어, 노드 데이터(141)는 복수의 네트워크 장치(210-1, ..., 210-n)에 포함된 노드들의 가용 자원 정보를 포함할 수 있다. 예를 들어, 링크 데이터(142)는 복수의 네트워크 장치(210-1, ..., 210-n)의 가용 대역폭 정보, 내부 게이트웨이 라우팅 비용(IGP cost, internal gateway routing cost)를 포함할 수 있다.
예를 들어, 서비스 데이터(150)는 복수의 네트워크 장치(210-1, ..., 210-n)로부터 발생한 트래픽에 관한 정보를 포함할 수 있다. 예를 들어, 서비스 데이터(150)는 트래픽 도착지 노드, 요구 대역폭, 서비스의 종류, SLA(service level agreement) 위반 정보를 포함할 수 있다.
일례로, 전자 장치(100)는 매트릭스 형태로 표현되는 네트워크 데이터(140)를 생성할 수 있다. 일례로, 전자 장치(100)는 일련의 일차원의 벡터 형태로 서비스 데이터(150)를 생성할 수 있다. 일례로, 생성된 네트워크 데이터(140) 및 서비스 데이터(150)는 메모리에 저장될 수 있다.
일례로, 전자 장치(100)는 정책(policy)에 따라 서비스 데이터(150) 및 네트워크 데이터(140)를 이용하여, 트래픽의 전송 경로에 관한 세그먼트를 결정할 수 있다. 예를 들어, 정책은 결정 모듈(110)로부터 생성될 수 있다. 예를 들어, 결정 모듈(110)은 심층 강화 학습(deep reinforcement learning) 방식에 따라 학습될 수 있다.
일례로, 결정 모듈(110)은 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)에 기초하여 생성된 학습 데이터에 따라, 심층 강화 학습 방법을 학습될 수 있다. 예를 들어, 학습 데이터는 현재 상태, 액션, 리워드 및 다음 상태를 포함할 수 있다. 예를 들어, 현재 상태는 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)를 포함할 수 있다. 예를 들어, 액션은 학습 서비스 데이터(150)에 포함된 트래픽의 학습 전송 경로에 관한 학습 세그먼트를 포함할 수 있다. 예를 들어, 리워드는 복수의 네트워크 장치(210-1, ..., 210-n)의 최소 가용 대역폭에 기초하여, 결정될 수 있다. 예를 들어, 다음 상태는 현재 상태에서 액션에 따라 트래픽이 할당된 상태를 의미할 수 있다.
이해의 편의를 위하여, 결정 모듈(110)의 학습에 사용되는 데이터를 네트워크 데이터(140) 및 서비스 데이터(150)와 구분하여, 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)로 호칭하나, 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)는 네트워크 데이터(140) 및 서비스 데이터(150)와 실질적으로 동일한 데이터를 나타낼 수 있다. 또한, 세그먼트 및 전송 경로와 구분하여, 결정 모듈(110)의 학습 과정에서 결정되는 세그먼트 및 전송 경로는 각각 학습 세그먼트 및 학습 전송 경로로 호칭될 수 있으나, 학습 세그먼트 및 학습 전송 경로는 각각 세그먼트 및 전송 경로와 실질적으로 동일할 수 있다.
예를 들어, 전자 장치(100)는 네트워크 데이터(140) 및 서비스 데이터(150)를 이용하여, 현재 상태를 생성할 수 있다. 예를 들어, 전자 장치(100)가 생성한 현재 상태는 결정 모듈(110)의 학습 데이터에 포함된 현재 상태와 실질적으로 동일한 데이터를 의미할 수 있다. 전자 장치(100)는 생성된 현재 상태를 이용하여, 정책에 따라 리워드를 최대화하는 액션을 결정할 수 있다. 예를 들어, 리워드를 최대화하는 액션은 트래픽의 세그먼트를 결정하는 것을 나타낼 수 있다.
예를 들어, 세그먼트는 세그먼트 라우팅(SR, segment routing) 방식에 따라 트래픽의 전송 경로를 결정하기 위한 경로를 의미할 수 있다. 예를 들어, 전자 장치(100)는 트래픽의 출발 노드에서 세그먼트로 지정된 노드를 거쳐, 도착지 노드로 연결되는 트래픽의 전송 경로를 결정할 수 있다.
일례로, 전자 장치(100)는 세그먼트에 기초하여, 트래픽의 전송 경로를 결정할 수 있다. 예를 들어, 네트워크 컨트롤러(180)는 정책에 따라 세그먼트를 결정하고, 트래픽의 전송 경로를 결정할 수 있다.
예를 들어, 전자 장치(100)는 최단 경로 알고리즘에 따라, 세그먼트로 지정된 경로까지 트래픽의 전송 경로를 지정할 수 있다. 전자 장치(100)는 세그먼트로 지정된 노드로부터 최단 경로 알고리즘에 따라, 도착지 노드까지 트래픽의 전송 경로를 결정할 수 있다.
예를 들어, 트래픽 1에 대하여, 세그먼트 1, 세그먼트 2가 결정될 수 있다. 전자 장치(100)는 트래픽 1의 출발지 노드로부터 세그먼트 1로 결정된 노드까지의 최단 경로, 세그먼트 1로부터 세그먼트 2로 결정된 노드까지의 최단 경로, 세그먼트 2로부터 도착지 노드까지의 최단 경로를 이용하여, 트래픽 1에 대한 전체 전송 경로를 결정할 수 있다.
일례로, 전자 장치(100)는 결정된 전송 경로에 기초하여, 복수의 네트워크 장치(210-1, ..., 210-n)를 제어할 수 있다. 예를 들어, 네트워크 컨트롤러(180)의 네트워크 설정기(182)(network configuration)는 결정된 트래픽의 전송 경로에 따라 복수의 네트워크 장치(210-1, ..., 210-n)를 제어할 수 있다. 전자 장치(100)의 네트워크 설정기(182)는 전송 경로에 따라 트래픽 데이터가 전송되도록, 복수의 네트워크 장치(210-1, ..., 210-n) 또는 노드를 제어할 수 있다.
도 2는 다양한 실시예들에 따른 트래픽의 전송 경로 결정 방법의 동작 흐름도이다.
이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
일 실시 예에 따르면, 동작(210) 내지 동작(230)은 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서)에서 수행되는 것으로 이해될 수 있다.
도 2를 참조하면, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(100))는 동작(210)에서 서비스 데이터(예: 도 1의 서비스 데이터(150)) 및 네트워크 데이터(예: 도 1의 네트워크 데이터(140))를 식별할 수 있다. 예를 들어, 전자 장치(100)는 복수의 네트워크 장치(예: 도 1의 복수의 네트워크 장치(210-1, ..., 210-n))로부터 데이터를 식별하고, 식별한 데이터를 이용하여, 서비스 데이터(150) 및 네트워크 데이터(140)를 생성할 수 있다.
일례로, 전자 장치(100)는 동작(220)에서, 정책에 따라 트래픽의 전송 경로에 관한 세그먼트를 지정할 수 있다. 예를 들어, 정책은 심층 강화 학습 방식에 따라 학습된 결정 모듈(예: 도 1의 결정 모듈(110))로부터 생성될 수 있다.
일례로, 전자 장치(100)는 동작(230)에서, 세그먼트에 기초하여 트래픽의 전송 경로를 결정할 수 있다. 예를 들어, 전자 장치(100)는 최단 경로 알고리즘에 따라, 트래픽의 출발지 노드로부터 세그먼트로 결정된 노드까지의 최단 경로, 세그먼트로 결정된 노드로부터 세그먼트로 결정된 노드까지의 최단 경로, 세그먼트로 결정된 노드로부터 도착지 노드까지의 최단 경로 중 적어도 하나, 또는 이들의 조합을 이용하여, 트래픽의 전체 전송 경로를 결정할 수 있다.
도 3은 다양한 실시예들에 따른 학습 장치(300)가 결정 모듈(310)(예: 도 1의 결정 모듈(110))을 학습시키는 동작을 나타낸 도면이다.
도 3을 참조하면, 일 실시 예에 따른 학습 장치(300)는 메모리(330) 및 프로세서(320) 중 적어도 하나를 포함할 수 있다. 예를 들어, 학습 장치(300)의 메모리(330) 및 프로세서(320)에 관하여, 도 1의 전자 장치(100)에 관하여 설명한 메모리 및 프로세서에 관한 내용이 실질적으로 동일하게 적용될 수 있다.일례로, 학습 장치(300)는 네트워크(200)로부터 데이터를 식별할 수 있다. 예를 들어, 학습 장치(300)는 복수의 네트워크 장치(예: 도 3의 노드 1, ..., 노드 n(210-1, ..., 210-n))로부터 식별한 데이터를 이용하여, 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)를 생성할 수 있다. 예를 들어, 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)는 도 1에서 설명한 네트워크 데이터(140) 및 서비스 데이터(150)와 실질적으로 동일한 데이터를 나타낼 수 있다.
일례로, 결정 모듈(310)은 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)를 이용하여, 학습 데이터를 생성할 수 있다. 예를 들어, 학습 데이터는 심층 강화 학습 방식에 따라 결정 모듈(310)을 학습시키기 위한 데이터일 수 있다. 학습 데이터는 현재 상태, 액션, 리워드 및 다음 상태를 포함할 수 있다. 예를 들어, 학습 네트워크 데이터(140)는 노드 데이터(141) 및 링크 데이터(142)를 포함할 수 있다. 도 3의 노드 데이터(141) 및 링크 데이터(142)에 대하여, 도 1의 노드 데이터(141) 및 링크 데이터(142)에 관한 설명이 실질적으로 동일하게 적용될 수 있다.
예를 들어, 현재 상태는 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)에 기초한 복수의 네트워크 장치(210-1, ..., 210-n)의 상태, 트래픽에 관한 정보를 포함할 수 있다. 예를 들어, 액션은 현재 상태에서 트래픽의 세그먼트를 결정하는 동작을 나타낼 수 있다. 예를 들어, 리워드는 액션에 따라 현재 상태에서 결정된 세그먼트에 따라 트래픽의 전체 또는 일부의 전송 경로를 결정하였을 때, 네트워크(200) 상태에 기초하여 결정될 수 있다. 예를 들어, 리워드는 복수의 네트워크 장치(210-1, ..., 210-n)의 최소 가용 대역폭에 기초하여 결정될 수 있다. 예를 들어, 다음 상태는 현재 상태에서 액션에 따라 트래픽의 전송 경로의 전체 또는 일부를 결정하였을 때, 복수의 네트워크 장치(210-1, ..., 210-n)의 상태, 트래픽에 관한 정보를 나타낼 수 있다.
예를 들어, 결정 모듈(310)은 심층 강화 학습(deep reinforcement learning) 방법에 따라 학습될 수 있다. 예를 들어, 결정 모듈(310)은 DDDQN(dueling double deep Q Network), DDQN(double deep Q Network), DQN(deep Q network), A2C(advantage actor-critic) 등과 같은 모델을 이용하여, 학습될 수 있다.
예를 들어, 결정 모듈(310)은 신경망(160)을 포함하고, 리워드를 최대화하도록 학습될 수 있다. 예를 들어, 결정 모듈(310)은 정책이 현재 상태에서 리워드를 최대화하는 액션을 선택하도록 학습될 수 있다.
예를 들어, 최적화 모듈(170)은 가치 함수 알고리즘(value function algorithm) 또는 정책 알고리즘(policy algorithm)을 이용하여, 현재 상태에서 리워드를 최대화하는 액션을 선택하기 위한 정책을 결정할 수 있다. 최적화 모듈(170)은 심층 강화 학습의 모델에 따라, 가치 함수 알고리즘 또는 정책 알고리즘을 이용하여, 정책을 결정할 수 있다.
예를 들어, 신경망(160)은 심층 강화 학습의 모델에 따라, 현재 상태 및 액션에 따른 가치 함수를 근사하거나, 또는 현재 상태에 따른 가치를 근사할 수 있다. 신경망(160)은 리워드를 최대화하도록 학습될 수 있다.
일례로, 학습 장치(300)는 결정 모듈(310)에서 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)에 기초하여 생성된 학습 데이터를 이용하여, 학습 데이터에 포함된 트래픽의 전송 경로에 관한 학습 세그먼트를 결정할 수 있다. 학습 장치(300)는 결정 모듈(310)에서 학습 세그먼트에 기초하여, 학습 서비스 데이터(150)에 포함된 트래픽의 학습 전송 경로를 결정할 수 있다. 학습 장치(300)는 학습 전송 경로에 기초하여, 리워드를 최대화하도록 결정 모듈(310)을 학습시킬 수 있다.
예를 들어, 리워드는 학습 전송 경로에 따른 복수의 네트워크 장치(210-1, ..., 210-n)의 최소 가용 대역폭이 클수록 크게 결정될 수 있다. 예를 들어, 리워드는 복수의 네트워크 장치(210-1, ..., 210-n)의 링크에서, (최소 가용 대역폭 / 최대 가용 대역폭), (최소 가용 대역폭 / 최대 대역폭), 최소 가용 대역폭 등과 같이 계산될 수 있다. 리워드는 현재 상태에서 액션에 따라 트래픽의 전송 경로의 전부 또는 일부가 결정된 후의 최소 가용 대역폭 등에 기초하여 결정될 수 있다.
상기의 학습 장치(300)는 심층 강화 학습 방법에 따라 결정 모듈(310)을 학습시킬 수 있고, 심층 강화 학습을 위한 모델은 상기의 예시들로 한정되지 않는다. 결정 모듈(310)을 심층 강화 학습 방법에 따라 학습시키기 위하여, 학습 장치(300)는 심층 강화 학습에 관하여 공지된 방법을 이용하여 결정 모듈(310)을 학습시킬 수 있다.
도 3에서, 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)는 학습 장치(300)로부터 수신한 데이터를 이용하여 결정 모듈(310)이 생성하는 것으로 도시되어 있으나, 이에 한정되지 않고, 학습 장치(300)가 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)를 생성하여, 결정 모듈(310)에 입력할 수 있다.
도 4는 다양한 실시예들에 따른 결정 모듈(예: 도 3의 결정 모듈(310)) 학습 방법의 동작 흐름도이다.
도 4를 참조하면, 다양한 실시예들에 따른 학습 장치(예: 도 3의 학습 장치(300))는 동작(410)에서 학습 데이터를 이용하여, 학습 서비스 데이터(예: 도 1, 도 3의 학습 서비스 데이터(150))에 포함된 트래픽의 전송 경로에 관한 학습 세그먼트를 결정할 수 있다. 예를 들어, 학습 장치(300)는 결정 모듈(310)이 학습 세그먼트를 결정하도록 할 수 있다.
예를 들어, 학습 데이터는 학습 네트워크 데이터(예: 도 1, 도 3의 학습 네트워크 데이터(140)) 및 학습 서비스 데이터(150)에 기초하여 생성될 수 있다. 예를 들어, 학습 장치(300)는 네트워크에 포함된 복수의 네트워크 장치(예: 도 1, 도 3의 복수의 네트워크 장치(210-1, ..., 210-n))로부터 수신한 데이터를 이용하여, 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)를 생성할 수 있다.
일례로, 학습 장치(300)는 동작(420)에서 학습 세그먼트에 기초하여, 학습 서비스 데이터(150)에 포함된 트래픽의 학습 전송 경로를 결정할 수 있다. 예를 들어, 학습 장치(300)는 결정 모듈(310)을 이용하여, 학습 세그먼트에 따라 트래픽의 학습 전송 경로를 결정할 수 있다.
일례로, 학습 장치(300)는 동작(430)에서 리워드를 최대화하도록, 결정 모듈(310)을 학습시킬 수 있다. 예를 들어, 학습 장치(300)는 심층 강화 학습 방식에 따라, 결정 모듈(310)을 학습시킬 수 있다. 예를 들어, 결정 모듈(310)은 현재 상태 및 액션에 따라 q 밸류를 출력하거나 또는 현재 상태에 따라 가치를 출력하는 신경망(예: 도 1, 도 3의 신경망(160)을 포함할 수 있다. 결정 모듈(310)은 신경망(160)의 출력값에 기초하여 액션을 선택할 수 있다. 학습 장치(300)는 액션에 따른 리워드가 최대화되도록, 결정 모듈(310)을 학습시킬 수 있다.
일례로, 학습 장치(300)는 동작(440)에서 트래픽의 전송 경로에 대한 세그먼트를 결정하기 위한 정책을 결정할 수 있다. 예를 들어, 전자 장치(100)는 정책에 따라, 네트워크 데이터(140) 및 서비스 데이터(150)에 따른 현재 상태에서, 리워드를 최대화하는 액션을 출력할 수 있다. 액션은 트래픽에 대한 세그먼트를 결정하는 동작을 나타낼 수 있다.
상기의 도 4의 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
일례로, 도 4에 도시된 동작(410) 내지 동작(440)은 전자 장치(예: 도 1의 전자 장치(101) 또는 학습 장치(예: 도 3의 학습 장치(300))의 프로세서(예: 도 1의 전자 장치(101)의 프로세서, 도 3의 프로세서(320))에 의해 수행되는 것으로 이해될 수 있다.
도 5는 다양한 실시예들에 따른 결정 모듈(예: 도 3의 결정 모듈(310))을 학습시키기 위한 에피소드를 나타낸 도면이다.
도 5를 참조하면, 일 실시예에 따른 학습 장치(예: 도 3의 학습 장치(300))는 학습 네트워크 데이터(예: 도 1, 도 3의 네트워크 데이터(140)) 및 학습 서비스 데이터(도 1, 도 3의 서비스 데이터(150))에 기초하여 결정된 서비스가 미리 설정된 임계 개수 입력될 때까지, 매 스텝마다 학습 세그먼트를 결정하도록 결정 모듈(310)을 학습시킬 수 있다.
예를 들어, 학습 네트워크 데이터 1(140-1) 및 학습 서비스 데이터 1(150-1)에 따른 서비스 1(510-1)가 결정 모듈(310)에 입력되면, 동작(520)에서 결정 모듈(310)의 학습을 위한 에피소드가 시작될 수 있다. 결정 모듈(310)은 스텝 1(530-1), 스텝 2(530-2), 스텝 3(530-3)에서, 각각 학습 세그먼트를 결정하고, 결정된 학습 세그먼트에 따라 학습 서비스 데이터 1(150-1)에 포함된 트래픽의 학습 전송 경로를 결정할 수 있다.
학습 서비스 데이터 2(150-2) 및 네트워크 데이터 2(140-2)에 따른 서비스 2(510-2)가 결정 모듈(310)에 입력되면, 결정 모듈(310)은 스텝 3(530-3) 이후 스텝에서 서비스 2에 따라, 트래픽의 학습 세그먼트를 결정하고, 학습 세그먼트에 따라 학습 전송 경로를 결정할 수 있다.
결정 모듈(310)의 학습을 위한 에피소드는 미리 설정된 임계 개수의 서비스가 입력될 때까지 진행될 수 있다. 예를 들어, 미리 설정된 임계 개수가 n일 때, 도 5와 같이 스텝 m(530-m)에서 학습 서비스 데이터 n(150-n) 및 학습 네트워크 데이터(140-n)에 따른 서비스 n(510-n)이 입력되면, 동작(540)에서 결정 모듈(310)의 학습을 위한 에피소드가 종료될 수 있다.
일례로, 학습 장치(300)는 학습 데이터를 이용하여, 임의의 복수의 서비스를 포함하는 에피소드를 생성할 수 있다. 예를 들어, 학습 장치(300)는 미리 설정된 임계 개수의 서비스를 포함하는 에피소드를 생성할 수 있다. 학습 장치(300)는 생성한 에피소드를 이용하여, 결정 모듈(310)을 학습시킬 수 있다.
일례로, 학습 장치(300)는 학습 서비스 데이터(150)에 포함된 트래픽에 대하여, 미리 설정된 개수만큼 학습 세그먼트를 결정하도록 결정 모듈(310)을 학습시킬 수 있다. 예를 들어, 미리 설정된 개수가 n개인 경우, 도 5에서 결정 모듈(310)은 서비스(510-1, ...,510-n)에 각각에 대하여 n개의 세그먼트를 결정하여, 트래픽의 학습 전송 경로를 결정할 수 있다.
학습 장치(300)는 도 5와 같이, 미리 설정된 임계 개수의 서비스를 포함하는 에피소드에 따라 학습되기 때문에, 동적으로 변화하는 네트워크 상황을 고려하여 결정 모듈(310)을 학습시킬 수 있다. 또한, 도 5에 따른 학습 장치(300)는 결정 모듈(310)을 온라인 학습(online learning) 방식에 따라 학습시킬 수 있고, 전자 장치(100)는 결정된 정책을 이용하여 빠르게 변하는 네트워크 상황에서 트래픽 라우팅을 수행할 수 있다.
도 6은 다양한 실시예들에 따른 결정 모듈(예: 도 3의 결정 모듈(310))이 세그먼트를 결정하고, 트래픽의 전송 경로를 결정하는 동작을 나타낸 도면이다. 도 6은 트래픽의 출발 노드는 노드 1(210-1)이고, 도착 노드는 노드 16(210-16)인 트래픽에 대하여 결정 모듈(310)이 세그먼트를 결정하고, 트래픽의 전송 경로를 결정하는 동작을 나타낸다.
예를 들어, 결정 모듈(310)은 입력된 학습 데이터에 따라, 동작(610)에서 액션 1에 따라 노드 5(210-5)를 세그먼트로 결정할 수 있다. 결정 모듈(310)은 출발 노드인 노드 1(210-1)에서 세그먼트로 지정된 노드 5(210-5)까지 최단 경로 알고리즘에 따라, 동작(615)에서 노드 1(210-1)-노드 3(210-3)-노드 5(210-5)로 연결되는 전송 경로를 결정할 수 있다.
결정 모듈(310)은 동작(620)에서 액션 2에 따라 노드 15(210-15)를 세그먼트로 결정할 수 있다. 결정 모듈(310)은 노드 5(210-5)에서 세그먼트로 지정된 노드 15(210-15)까지 최단 경로 알고리즘에 따라, 동작(625)에서 노드 5(210-5)-노드 14(210-14)-노드 15(210-15)로 연결되는 전송 경로를 결정할 수 있다.
결정 모듈(310)은 동작(630)에서 액션 3에 따라 노드 16(210-16)를 세그먼트로 결정할 수 있다. 결정 모듈(310)은 노드 15(210-15)에서 세그먼트로 지정된 노드 16(210-16)까지 최단 경로 알고리즘에 따라, 동작(635)에서 노드 5(210-5)-노드 16(210-16)로 연결되는 전송 경로를 결정할 수 있다.
상기의 결정 모듈(310)이 트래픽의 전송 경로에 관한 세그먼트를 결정하고, 결정된 세그먼트에 따라 트래픽의 전송 경로를 결정하는 동작에 관한 설명은, 도 1의 전자 장치(100)가 식별한 네트워크 데이터(140) 및 서비스 데이터(150)에 기초하여, 정책에 따라 트래픽의 전송 경로에 관한 세그먼트를 결정하고, 결정된 세그먼트에 따라 트래픽의 전송 경로를 결정하는 동작에 실질적으로 동일하게 적용될 수 있다.
다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(100))는 프로세서 및 상기 프로세서와 전기적으로 연결되고, 상기 프로세서에 의해 실행될 수 있는 명령어를 저장하는 메모리를 포함할 수 있다. 상기 프로세서는, 상기 명령어가 실행될 때, 복수의 네트워크 장치(예: 도 1의 노드 1, ..., 노드 n(210-1, ..., 210-n))로부터 발생한 트래픽에 관한 서비스 데이터(예: 도 1의 서비스 데이터(150)) 및 상기 복수의 네트워크 장치(210-1, ..., 210-n)의 링크 정보를 포함하는 네트워크 데이터(예: 도 1의 네트워크 데이터(140))를 식별할 수 있다. 상기 프로세서는, 심층 강화 학습(deep reinforcement learning) 방식에 따라 학습된 결정 모듈(예: 도 1의 결정 모듈(110), 도 3의 결정 모듈(310))로부터 결정된 정책(policy)에 따라, 상기 서비스 데이터(150) 및 상기 네트워크 데이터(140)를 이용하여, 상기 트래픽의 전송 경로에 관한 세그먼트(segment)를 결정할 수 있다. 상기 프로세서는, 상기 세그먼트에 기초하여, 상기 트래픽의 전송 경로를 결정할 수 있다.
상기 결정 모듈(110, 310)은, 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)에 기초하여 생성된 학습 데이터를 이용하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 전송 경로에 관한 학습 세그먼트를 결정할 수 있다. 상기 결정 모듈(110, 310)은, 상기 학습 세그먼트에 기초하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 학습 전송 경로를 결정할 수 있다. 상기 결정 모듈(110, 310)은, 상기 학습 전송 경로에 기초하여 결정된 리워드를 최대화하도록 학습될 수 있다.
상기 결정 모듈(110, 310)은, 상기 학습 네트워크 데이터(140) 및 상기 학습 서비스 데이터(150)에 기초하여 결정된 서비스가 미리 설정된 임계 개수 입력될 때까지, 매 스텝마다 상기 학습 세그먼트를 결정하도록 학습될 수 있다.
상기 결정 모듈(110, 310)은, 상기 학습 서비스 데이터(150)에 포함된 트래픽에 대하여, 미리 설정된 개수만큼 상기 학습 세그먼트를 결정할 수 있다.
상기 리워드는, 상기 학습 전송 경로에 따른 상기 복수의 네트워크 장치(210-1, ..., 210-n)의 최소 가용 대역폭이 클수록 크게 결정될 수 있다.
상기 프로세서는, 상기 세그먼트에 기초하여, 최단 경로 알고리즘에 따라, 상기 트래픽의 전송 경로를 결정할 수 있다.
다양한 실시예들에 따른 전송 경로 결정 방법은 복수의 네트워크 장치(210-1, ..., 210-n)로부터 발생한 트래픽에 관한 서비스 데이터(150) 및 상기 복수의 네트워크 장치(210-1, ..., 210-n)의 링크 정보를 포함하는 네트워크 데이터(140)를 식별하는 동작, 심층 강화 학습(deep reinforcement learning) 방식에 따라 학습된 결정 모듈(110, 310)로부터 결정된 정책(policy)에 따라, 상기 서비스 데이터(150) 및 상기 네트워크 데이터(140)를 이용하여, 상기 트래픽의 전송 경로에 관한 세그먼트(segment)를 결정하는 동작 및 상기 세그먼트에 기초하여, 상기 트래픽의 전송 경로를 결정하는 동작을 포함할 수 있다.
상기 결정 모듈(110, 310)은, 학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)에 기초하여 생성된 학습 데이터를 이용하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 전송 경로에 관한 학습 세그먼트를 결정할 수 있다. 상기 결정 모듈(110, 310)은, 상기 학습 세그먼트에 기초하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 학습 전송 경로를 결정할 수 있다. 상기 결정 모듈(110, 310)은, 상기 학습 전송 경로에 기초하여 결정된 리워드를 최대화하도록 학습될 수 있다.
상기 결정 모듈(110, 310)은, 상기 학습 네트워크 데이터(140) 및 상기 학습 서비스 데이터(150)에 기초하여 결정된 서비스가 미리 설정된 임계 개수 입력될 때까지, 매 스텝마다 상기 학습 세그먼트를 결정하도록 학습될 수 있다.
상기 결정 모듈(110, 310)은, 상기 학습 서비스 데이터(150)에 포함된 트래픽에 대하여, 미리 설정된 개수만큼 상기 학습 세그먼트를 결정할 수 있다.
상기 리워드는, 상기 학습 전송 경로에 따른 상기 복수의 네트워크 장치(210-1, ..., 210-n)의 최소 가용 대역폭이 클수록 크게 결정될 수 있다.
상기 트래픽의 전송 경로를 결정하는 동작은, 상기 세그먼트에 기초하여, 최단 경로 알고리즘에 따라, 상기 트래픽의 전송 경로를 결정할 수 있다.
다양한 실시예들에 따른 결정 모듈 학습 방법은 학습 네트워크 데이터(예: 도 1, 도 3의 네트워크 데이터(140)) 및 학습 서비스 데이터(예: 도 1, 도 3의 서비스 데이터(150))에 기초하여 생성된 학습 데이터를 이용하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 전송 경로에 관한 학습 세그먼트를 결정하는 동작, 상기 학습 세그먼트에 기초하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 학습 전송 경로를 결정하는 동작, 심층 강화 학습(deep reinforcement learning) 방식에 따라, 상기 학습 전송 경로에 기초하여 결정된 리워드를 최대화하도록 결정 모듈(110, 310)을 학습시키는 동작, 복수의 네트워크 장치(예: 도 1, 도 3의 노드 1, ..., 노드 n(210-1, ..., 210-n))로부터 식별된 네트워크 데이터(140) 및 서비스 데이터(150)에 대응하여, 상기 서비스 데이터(150)에 포함된 트래픽의 전송 경로에 관한 세그먼트(segment)를 결정하기 위한 정책(policy)를 결정하는 동작을 포함할 수 있다.
상기 결정 모듈(110, 310)을 학습시키는 동작은, 상기 학습 네트워크 데이터(140) 및 상기 학습 서비스 데이터(150)에 기초하여 결정된 서비스가 미리 설정된 임계 개수 입력될 때까지, 매 스텝마다 상기 학습 세그먼트를 결정하도록 상기 결정 모듈(110, 310)을 학습시킬 수 있다.
상기 트래픽의 전송 경로에 관한 학습 세그먼트를 결정하는 동작은, 상기 학습 서비스 데이터(150)에 포함된 트래픽에 대하여, 미리 설정된 개수만큼 상기 학습 세그먼트를 결정할 수 있다.
상기 결정 모듈(110, 310)을 학습시키는 동작은, 상기 학습 전송 경로에 따른 상기 복수의 네트워크 장치(210-1, ..., 210-n)의 최소 가용 대역폭이 클수록 상기 리워드를 크게 결정할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치(100)는 다양한 형태의 장치가 될 수 있다. 전자 장치(100)는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치(100)는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "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)(예: 전자 장치(100)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(100))의 프로세서(예: 프로세서)는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (12)

  1. 전자 장치(100)에 있어서,
    프로세서; 및
    상기 프로세서와 전기적으로 연결되고, 상기 프로세서에 의해 실행될 수 있는 명령어를 저장하는 메모리
    를 포함하고,
    상기 프로세서는,
    상기 명령어가 실행될 때, 복수의 네트워크 장치(210-1, ..., 210-n)로부터 발생한 트래픽에 관한 서비스 데이터(150) 및 상기 복수의 네트워크 장치(210-1, ..., 210-n)의 링크 정보를 포함하는 네트워크 데이터(140)를 식별하고,
    심층 강화 학습(deep reinforcement learning) 방식에 따라 학습된 결정 모듈(110, 310)로부터 결정된 정책(policy)에 따라, 상기 서비스 데이터(150) 및 상기 네트워크 데이터(140)를 이용하여, 상기 트래픽의 전송 경로에 관한 세그먼트(segment)를 결정하고;
    상기 세그먼트에 기초하여, 상기 트래픽의 전송 경로를 결정하는,
    전자 장치(100).
  2. 제1항에 있어서,
    상기 결정 모듈(110, 310)은,
    학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)에 기초하여 생성된 학습 데이터를 이용하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 전송 경로에 관한 학습 세그먼트를 결정하고,
    상기 학습 세그먼트에 기초하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 학습 전송 경로를 결정하고,
    상기 학습 전송 경로에 기초하여 결정된 리워드를 최대화하도록 학습되는,
    전자 장치(100).
  3. 제1항 및 제2항 중 어느 한 항에 있어서,
    상기 결정 모듈(110, 310)은,
    상기 학습 네트워크 데이터(140) 및 상기 학습 서비스 데이터(150)에 기초하여 결정된 서비스가 미리 설정된 임계 개수 입력될 때까지, 매 스텝마다 상기 학습 세그먼트를 결정하도록 학습되는,
    전자 장치(100).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 결정 모듈(110, 310)은,
    상기 학습 서비스 데이터(150)에 포함된 트래픽에 대하여, 미리 설정된 개수만큼 상기 학습 세그먼트를 결정하는,
    전자 장치(100).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 리워드는,
    상기 학습 전송 경로에 따른 상기 복수의 네트워크 장치(210-1, ..., 210-n)의 최소 가용 대역폭이 클수록 크게 결정되는,
    전자 장치(100).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 프로세서는,
    상기 세그먼트에 기초하여, 최단 경로 알고리즘에 따라, 상기 트래픽의 전송 경로를 결정하는,
    전자 장치(100).
  7. 복수의 네트워크 장치(210-1, ..., 210-n)로부터 발생한 트래픽에 관한 서비스 데이터(150) 및 상기 복수의 네트워크 장치(210-1, ..., 210-n)의 링크 정보를 포함하는 네트워크 데이터(140)를 식별하는 동작;
    심층 강화 학습(deep reinforcement learning) 방식에 따라 학습된 결정 모듈(110, 310)로부터 결정된 정책(policy)에 따라, 상기 서비스 데이터(150) 및 상기 네트워크 데이터(140)를 이용하여, 상기 트래픽의 전송 경로에 관한 세그먼트(segment)를 결정하는 동작; 및
    상기 세그먼트에 기초하여, 상기 트래픽의 전송 경로를 결정하는 동작
    을 포함하는
    전송 경로 결정 방법.
  8. 제7항에 있어서,
    상기 결정 모듈(110, 310)은,
    학습 네트워크 데이터(140) 및 학습 서비스 데이터(150)에 기초하여 생성된 학습 데이터를 이용하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 전송 경로에 관한 학습 세그먼트를 결정하고,
    상기 학습 세그먼트에 기초하여, 상기 학습 서비스 데이터(150)에 포함된 트래픽의 학습 전송 경로를 결정하고,
    상기 학습 전송 경로에 기초하여 결정된 리워드를 최대화하도록 학습되는,
    전송 경로 결정 방법.
  9. 제7항 및 제8항 중 어느 한 항에 있어서,
    상기 결정 모듈(110, 310)은,
    상기 학습 네트워크 데이터(140) 및 상기 학습 서비스 데이터(150)에 기초하여 결정된 서비스가 미리 설정된 임계 개수 입력될 때까지, 매 스텝마다 상기 학습 세그먼트를 결정하도록 학습되는,
    전송 경로 결정 방법.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서,
    상기 결정 모듈(110, 310)은,
    상기 학습 서비스 데이터(150)에 포함된 트래픽에 대하여, 미리 설정된 개수만큼 상기 학습 세그먼트를 결정하는,
    전송 경로 결정 방법.
  11. 제7항 내지 제10항 중 어느 한 항에 있어서,
    상기 리워드는,
    상기 학습 전송 경로에 따른 상기 복수의 네트워크 장치(210-1, ..., 210-n)의 최소 가용 대역폭이 클수록 크게 결정되는,
    전송 경로 결정 방법.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서,
    상기 트래픽의 전송 경로를 결정하는 동작은,
    상기 세그먼트에 기초하여, 최단 경로 알고리즘에 따라, 상기 트래픽의 전송 경로를 결정하는,
    전송 경로 결정 방법.
PCT/KR2023/013909 2022-09-23 2023-09-15 전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치 WO2024063451A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0121058 2022-09-23
KR20220121058 2022-09-23
KR1020220131630A KR20240041768A (ko) 2022-09-23 2022-10-13 전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치
KR10-2022-0131630 2022-10-13

Publications (1)

Publication Number Publication Date
WO2024063451A1 true WO2024063451A1 (ko) 2024-03-28

Family

ID=90454872

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/013909 WO2024063451A1 (ko) 2022-09-23 2023-09-15 전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치

Country Status (1)

Country Link
WO (1) WO2024063451A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190190815A1 (en) * 2017-12-18 2019-06-20 Cisco Technology, Inc. Inspired path computation in a network
US20200412635A1 (en) * 2019-06-27 2020-12-31 Intel Corporation Routing updates in icn based networks
US20210288902A1 (en) * 2020-03-10 2021-09-16 Cisco Technology, Inc. Enhanced segment routing
US20220245441A1 (en) * 2021-01-29 2022-08-04 World Wide Technology Holding Co., LLC Reinforcement-learning modeling interfaces
US20220272035A1 (en) * 2021-02-24 2022-08-25 Nokia Solutions And Networks Oy Multi-tier deterministic networking

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190190815A1 (en) * 2017-12-18 2019-06-20 Cisco Technology, Inc. Inspired path computation in a network
US20200412635A1 (en) * 2019-06-27 2020-12-31 Intel Corporation Routing updates in icn based networks
US20210288902A1 (en) * 2020-03-10 2021-09-16 Cisco Technology, Inc. Enhanced segment routing
US20220245441A1 (en) * 2021-01-29 2022-08-04 World Wide Technology Holding Co., LLC Reinforcement-learning modeling interfaces
US20220272035A1 (en) * 2021-02-24 2022-08-25 Nokia Solutions And Networks Oy Multi-tier deterministic networking

Similar Documents

Publication Publication Date Title
US8787150B2 (en) Resiliency schemes in communications networks
US7907516B2 (en) Node setting apparatus, network system, node setting method, and computer product
CN100461751C (zh) 具有交替路由控制的标签交换路径网络
CN1647460B (zh) 光纤信道网络中的标签交换方法和设备
US8264967B2 (en) Bit-field-encoded resource record for determining a transmission path in a communications network
EP1903725B1 (en) Packet communication method and packet communication device
WO2010064531A1 (ja) 通信ネットワーク管理システム、方法、プログラム、及び管理計算機
US8988989B2 (en) Communication node and communication system
US20070070919A1 (en) Device and method for network configuration and computer product
WO2010064532A1 (ja) 通信ネットワーク管理システム、方法、プログラム、及び管理計算機
CN112653575B (zh) 一种网络配置方法、控制器及流量引导系统
Suárez-Varela et al. Routing based on deep reinforcement learning in optical transport networks
EP2498453A1 (en) Node, monitoring and administration method used thereupon, and transfer system, input circuit, and output circuit using same
JP5429697B2 (ja) 通信ネットワーク管理システム、方法、及び管理計算機
JPH08307439A (ja) プロテクション制御信号伝達システム
WO2024063451A1 (ko) 전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치
US5572679A (en) Multiprocessor system transferring abnormality detection signal generated in networking apparatus back to processor in parallel with data transfer route
WO2019221461A1 (ko) 네트워크 장애 원인 분석 장치 및 방법
US20150180775A1 (en) Communication System, Control Apparatus, Communication Method, and Program
KR20240041768A (ko) 전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치
WO2023229190A1 (ko) 전송 경로 결정 방법 및 상기 방법을 수행하는 전자 장치
US20110310746A1 (en) Communication network management system and method and management computer
JP3722758B2 (ja) 光通信ネットワークおよび光ノードおよび光波長パス設定方法
KR100501027B1 (ko) 데이터 통신망에서 최소 개수의 기존 경로 제거를 통한새로운 경로 설정 방법
JPH08331176A (ja) パケット中継装置及びその切替え方法

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: 23868504

Country of ref document: EP

Kind code of ref document: A1