WO2016024666A1 - 데이터 트래픽의 전송을 제어하는 장치 및 방법 - Google Patents

데이터 트래픽의 전송을 제어하는 장치 및 방법 Download PDF

Info

Publication number
WO2016024666A1
WO2016024666A1 PCT/KR2014/010246 KR2014010246W WO2016024666A1 WO 2016024666 A1 WO2016024666 A1 WO 2016024666A1 KR 2014010246 W KR2014010246 W KR 2014010246W WO 2016024666 A1 WO2016024666 A1 WO 2016024666A1
Authority
WO
WIPO (PCT)
Prior art keywords
routing path
node
transmission
information
data traffic
Prior art date
Application number
PCT/KR2014/010246
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
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Publication of WO2016024666A1 publication Critical patent/WO2016024666A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links

Definitions

  • the disclosed embodiments are directed to an apparatus and method for controlling the transmission of data traffic, and more particularly, to a technique for distributing data traffic over multiple routing paths when congestion occurs during transmission of the data traffic.
  • overlay networking techniques can achieve improved transmission efficiency by placing one or more intermediate nodes or overlay hops between a source node and a destination node. .
  • congestion may occur due to various factors such as packet loss, increase in round trip time (RTT), and sporadic degradation in a transmission path.
  • RTT round trip time
  • a congestion avoidance technique may be required to quickly reduce the transmission rate on the path through which data is transmitted.
  • the reduced transmission rate tends to increase slowly. Rapidly increasing the transmission rate before congestion is resolved is because it can hinder network fairness (ie, fair allocation of shared network resources).
  • the same data can be transmitted from the source node and take the first received data at the destination node on a plurality of predefined paths (eg, three paths). According to this approach, no matter how congestion occurs on one path, data transmission over the other path can be successful. However, as the number of transmission paths increases, more traffic costs will be required for data transmission.
  • the latency of transmission of various types of data such as stored large data (e.g., large files already stored on the storage device) or real-time multimedia data (e.g., including audio, video, or a combination thereof, generated in real time) Reduction is very important.
  • stored large data e.g., large files already stored on the storage device
  • real-time multimedia data e.g., including audio, video, or a combination thereof, generated in real time
  • the disclosed embodiments provide an improved technique for controlling the transmission of data traffic when congestion occurs during the transmission of data traffic.
  • an apparatus for controlling the transmission of data traffic to a destination node comprising: an interface unit configured to obtain information regarding a congestion situation occurring on a first routing path during transmission of the data traffic; And a controller configured to select the second routing path based on the information to route the first portion and the second portion of the data traffic to the destination node along the first routing path and the second routing path, respectively.
  • a transmission control device comprising.
  • the information may indicate the congestion situation that occurred on a link in the first routing path.
  • the control unit may be configured to select the second routing path among at least one candidate routing path based on the information, each of the at least one candidate routing paths leading from a preset node to the destination node and bypassing the link. can do.
  • the at least one candidate routing path may branch from the first routing path at the preset node, and the controller may further cause the preset node to split the first portion and the second portion into the first routing path, respectively. And transmit along the second routing path.
  • the control unit may also be configured to determine a transmission rate of the first portion and a transmission rate of the second portion based on the information.
  • the control unit may also be configured to identify a node from which the second routing path branches from the first routing path among a plurality of nodes on the first routing path.
  • the controller may also be configured to cause the identified node to transmit the first portion and the second portion along the first routing path and the second routing path, respectively, if the identified node is the preset node. Can be.
  • the second routing path may be a minimum cost path of the at least one candidate routing path.
  • the information may also indicate at least one of a packet loss rate on the link and a packet delay on the link.
  • the congestion situation can be detected at an intermediate node on the first routing path and the information can be derived from the intermediate node.
  • a method of controlling transmission of data traffic to a destination node comprising: obtaining information about a congestion situation occurring on a first routing path during transmission of the data traffic; And selecting the second routing path based on the information to route the first portion and the second portion of the data traffic to the destination node along the first and second routing paths, respectively.
  • a transmission control method is provided.
  • the information may indicate the congestion situation that occurred on a link in the first routing path.
  • the selecting of the second routing path may include selecting the second routing path among at least one candidate routing path based on the information, wherein each of the at least one candidate routing paths is from a preset node. It can lead to the destination node and bypass the link.
  • the at least one candidate routing path may branch from the first routing path at the preset node, and the transmission control method may cause the preset node to route the first portion and the second portion to the first routing path, respectively.
  • the method may further include transmitting along a path and the second routing path.
  • the transmission control method may further include determining a transmission rate of the first portion and a transmission rate of the second portion based on the information.
  • the transmission control method may further include identifying a node from which the second routing path branches from the first routing path among a plurality of nodes on the first routing path.
  • the transmission control method may cause the preset node to transmit the first portion and the second portion along the first routing path and the second routing path, respectively, when the identified node is the preset node. It may further comprise a step.
  • the second routing path may be a minimum cost path of the at least one candidate routing path.
  • the information may also indicate at least one of a packet loss rate on the link and a packet delay on the link.
  • the congestion situation can be detected at an intermediate node on the first routing path and the information can be derived from the intermediate node.
  • a computer program stored in a medium for executing the transmission control method in combination with hardware is provided.
  • the data traffic may be distributed over different routing paths.
  • Certain embodiments can improve transmission efficiency while ensuring network fairness.
  • Certain embodiments may be applied to high speed data transmission without requiring excessive traffic costs.
  • data that cannot be distributed in advance in a distributed manner may be effectively transmitted.
  • FIG. 1 illustrates a network environment according to an exemplary embodiment
  • FIG. 2 schematically illustrates a protocol stack of nodes in a network environment in accordance with an exemplary embodiment
  • FIG. 3 illustrates a process of controlling transmission of data traffic to a destination node according to an exemplary embodiment
  • FIG. 4 illustrates an apparatus for controlling the transmission of data traffic to a destination node in accordance with an exemplary embodiment.
  • FIG. 1 illustrates a network environment according to an example embodiment.
  • the network environment 100 may include a client 110 and a server 120 as two endpoint nodes.
  • the network environment 100 may further include an overlay network system 130 located between the client 110 and the server 120.
  • a speech recognition service may be provided from server 120 to client 110, which transmits data indicative of voice to server 120 via overlay network system 130 and the server ( The voice recognition service 120 may be performed by recognizing a voice from the data and providing other data to the client 110 through the overlay network system 130 based on the recognized voice.
  • a service for transferring a large file between the client 110 and the server 120 may be provided. These services transmit files stored on the client 110 to the server 120 via the overlay network system 130 and / or other files stored on the server 120 to the client 110 via the overlay network system 130. I can send it.
  • the overlay network system 130 may include at least one ingress node (IN), at least one bypass node (BN), and at least one egress node (EN) as intermediate nodes. have.
  • overlay network system 130 may include ingress node 131, bypass nodes 132, 133, 135, 136 and egress nodes 134, 137. Can be. Accordingly, data may flow into the overlay network system 130 from the client 110 via the entry node 131. The data can also be leaked from the overlay network system 130 to the server 120 via the exit node 134 or the exit node 137.
  • the bypass nodes 132, 133, 135, and 136 may relay data communication so that the above data may be transmitted from the entry node 131 to the entry node 134 or the entry node 137.
  • At least one path available for data transmission may exist between the first node and the second node among the nodes 110, 120, 131, 132, 133, 134, 135, 136, and 137 in the network environment 100.
  • This transmission path may include one or more of the links 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150.
  • the above path is the path between the first node and the third node and the third node. It can be seen that it includes the path between the node and the second node.
  • a policy for guaranteeing data transmission between the client 110 and the server 120 may be adopted.
  • At least some of each of the endpoint nodes 110, 120 and intermediate nodes 131, 132, 133, 134, 135, 136, 137 are congested. (Eg, data loss and / or data transmission delay) may be detected to request data retransmission.
  • each of these nodes may have at least one protocol for ensuring node-to-node transmission.
  • data transmission may not be guaranteed between specific nodes among the intermediate nodes 131, 132, 133, 134, 135, 136, and 137.
  • the endpoint node in the network environment 100 (eg, the server 120) requests data retransmission.
  • each of the specific nodes may not request retransmission directly.
  • a routing path from client 110 to server 120 along links 140, 141, 142, 143, 144 is also referred to as " routing path RP1"
  • Nodes 110, 131, 132, 133, 134, and 120 may each have several protocols.
  • the client 110 and the server 120 each have a transmission control protocol (TCP) 210 and the intermediate nodes 131, 132, 133, and 134 each use a user datagram protocol (UDP) 220.
  • TCP transmission control protocol
  • UDP user datagram protocol
  • the intermediate nodes 131, 132, 133, 134 may have a routing protocol 230.
  • the entry node 130 and the departure node 134 may each have a transmission protocol 240 for guaranteeing data transmission.
  • each of the nodes 110, 131, 132, 133, 134, 120 may further include an additional protocol (eg, an application layer protocol such as Hypertext Transfer Protocol (HTTP) 250).
  • HTTP Hypertext Transfer Protocol
  • the entry node 130 and the entry node 134 include the transmission protocol 240
  • the data transmission 260 between the client 110 and the entry node 131 and the entry node 130 are performed.
  • the data transfer 261 between the entry node 134 and the entry node 134 and the server 120 may be guaranteed.
  • data transmission between the entry node 130 and the bypass node 133 will not be guaranteed.
  • data transmission between the bypass node 132 and the advance node 134 will not be guaranteed.
  • bypass nodes 132, 133 may also include a transport protocol 240, such that any two of the nodes 110, 131, 132, 133, 134, 120 may be included. Data transmission between them can be guaranteed.
  • each of the intermediate nodes 131, 132, 133, and 134 may detect congestion occurring during data transmission through the node and generate information about the congestion. Such congestion situation information may be shared among all the nodes 131, 132, 133, 134 or among some nodes (eg, preset in accordance with the routing protocol 230). Routing protocol 230 may be defined to reflect congestion information in selecting a routing path to which data traffic to a destination node (eg, server 120) will be forwarded. Accordingly, the routing protocol 230 may route the data traffic to the destination in a manner that distributes the data traffic being transmitted based on the information about the congestion situation.
  • a destination node eg, server 120
  • a path for transmitting data traffic of packets having the address of the server 120 as a destination address from the client 110 to the server 120 is initially set to the routing path RP1 (links 140, 141, 142, 143, and 144), and that data traffic flows from the client 110 to the entry node 131 at a transmission rate of 100 Mbps. Congestion may occur on the link 143 in the routing path RP1 during such data traffic transmission. Despite this congestion situation, continuing to transmit data traffic from node 133 to node 134 at a transmission rate of 100 Mbp may impair network fairness, thus transferring data traffic from node 133 to node at reduced transmission rate. It may be necessary to send to 134.
  • routing path RP2 a routing path from client 110 to server 120 along links 140, 141, 142, 150, 147, 148 is further selected.
  • routing path RP2 a routing path from client 110 to server 120 along links 140, 141, 142, 150, 147, 148 is further selected.
  • Congestion control schemes such as an Additive Increase / Multiplicative Decrease (AIMD) approach or a Slow Start approach or (iii) a policy preset by the administrator of the overlay network system 130 to the overlay network system 130 may be adopted, as mentioned above.
  • the transition of the transmitted transmission rates may vary depending on the congestion control scheme adopted.
  • an AIMD approach may be adopted that rapidly reduces the transmission rate on the routing path RP1 and the transmission rate on the routing path RP2 and then gradually increases it to 80 Mbps and 20 Mbps, respectively.
  • data traffic transmission may be initiated at 80 Mbps and 20 Mbps, respectively, on the routing path RP1 and the routing path RP2 immediately after the occurrence of the congestion situation.
  • routing path RP3 a routing path (hereinafter also referred to as "routing path RP3") from client 110 to server 120 along links 140, 141, 142, 149, 146, 147, 148 is further selected. Assume Accordingly, some of the data traffic transmitted along the routing path RP2 may be transmitted along the routing path RP2 as it is, and the rest of the data traffic may be transmitted along the routing path RP3.
  • no routing path via at least some of the intermediate nodes 131, 132, 133, 134, 135, 136, 137 is available for transmitting data traffic from the client 110 to the server 120
  • the data traffic may be sent directly from the client 110 to the server 120. This direct transmission may be performed in the best effort manner.
  • the technique of routing data traffic based on congestion situation information when congestion occurs during transmission of data traffic, retransmission between endpoint nodes is not required, and data traffic may be routed to different routing paths. It is possible to transmit in a distributed manner. In particular, this technique can prevent network efficiency while reducing transmission efficiency.
  • Each of the nodes 110, 120, 131, 132, 133, 134, 135, 136, 137 in the network environment 100 includes one or more processors and computer readable storage media such as memory accessible by the processors. It may be implemented on a computing device.
  • the computer readable storage medium may be internal or external to the processor and may be associated with the processor by various well known means.
  • the computer executable instructions may be stored in the computer readable storage medium.
  • the processor may execute instructions stored in the computer readable storage medium. Such instructions, when executed by a processor, may cause the computing device to perform operations in accordance with the exemplary embodiment.
  • FIG. 3 illustrates a process of controlling the transmission of data traffic to a destination node according to an exemplary embodiment.
  • operation S310 a congestion situation that occurs on the routing path during the transmission of data traffic to the destination node is detected.
  • routing path RP1 is selected for the transmission of data traffic from client 110 to server 120.
  • each node on the routing path RP1 runs from that node to the server 120 and selects the routing path included in the routing path RP1.
  • node 133 on routing path RP1 selects and routes a routing path (also referred to as "routing path RP-A1") from node 133 to server 120 along links 143 and 144.
  • Node 131 on path RP1 selects a routing path (also referred to as "routing path RP-B1”) from node 131 to server 120 along links 141, 142, 143, 144. can see.
  • any of the intermediate nodes 131, 132, 133, 134, 135, 136, 137 may be configured to send packets in data traffic. And an identification number identifying itself, a sequence number of the packet and / or a timestamp to the next node adjacent to the node. The packet may then be forwarded to another node with the same identification number, sequence number, and / or timestamp.
  • a node receiving a packet sent from node 131 may (i) use the identification number, sequence number and / or timestamp associated with that packet to reduce packet loss to packet transmission delay. Whether or not it occurred, (ii) thus calculating a packet loss rate from the number of packets received during the unit time and the number of lost / delayed packets, and (iii) ultimately the packet It may be determined whether a congestion situation has occurred depending on whether the loss rate exceeds a preset threshold.
  • the node 134 may detect congestion occurring on the link 143 and generate information indicating the congestion.
  • the congestion situation information may include a metric indicating whether a congestion situation occurs.
  • the congestion situation information may further include a metric indicative of packet delay on link 143 and / or a metric indicative of packet loss rate on link 143.
  • the congestion situation information is transmitted from the node that detected the congestion situation to another node (eg, a node adjacent to the other and / or another specific node).
  • congestion situation information may be propagated when a particular event occurs (when congestion occurs or it is determined that a particular metric exceeds a threshold) or upon request.
  • the node 134 may immediately transmit the congestion situation information to the node 133.
  • node 133 may send a request for congestion status information to node 134, and node 134 may transmit congestion status information that it maintains in response to receiving the request. Can be sent to.
  • congestion situation information generated by node 134 may be transmitted (eg, via node 133) to a node other than node 133.
  • the entry node 131 may also obtain congestion situation information originating from the node 134.
  • the node eg, the node 131 or the node 133 that has received the congestion situation information may manage a lifetime of the congestion situation information. For example, when the congestion status information is not updated within a specific time from when the congestion status information is received, the node 133 may destroy the congestion status information.
  • an additional routing path is selected based on the congestion situation information.
  • node 133 uses the obtained congestion situation information from at least one candidate routing path. Additional routing paths can be selected, whereby some of the data traffic can be routed along the existing routing path RP-A1 and other portions of the data traffic can be routed along the additional routing path.
  • Each candidate routing path may lead from node 133 to a destination node (eg, server 120) and bypass link 143.
  • node 133 when node 133 obtains such congestion situation information, node 133 identifies paths that do not go through link 143 from possible paths from node 133 to destination node. can do. Node 133 may then set the identified paths as candidate routing paths. In particular, each candidate routing path may branch from routing path RP-A1 at node 133.
  • the node 133 may calculate the cost of each candidate routing path (eg, which may be calculated based on the transmission delay on each link within that path). Thus, node 133 may calculate the minimum cost path among the candidate routing paths. Node 133 may then select the calculated minimum cost path as an additional routing path.
  • the calculated minimum cost path may be a path from node 133 to server 120 along links 150, 147, 148 (hereinafter also referred to as "routing path RP-A2"). Referring back to FIG. 1, it can be seen that routing path RP-A2 branches from routing path RP-A1 at node 133.
  • This minimum cost path means a path having the least cost among the paths leading from the node 133 to the destination node and bypassing the link 143 and is not necessarily the same as the minimum cost path from the node 133 to the destination node. It should be noted that. For example, if routing path RP1 is the minimum cost path from client 110 to server 120, then the minimum cost path from node 133 to server 120 is routing path RP-A1, which is link 143. Pass).
  • node 131 when node 131 obtains information about a congestion situation occurring on link 143, node 131 selects an additional routing path from at least one candidate routing path based on the obtained congestion situation information. Can be.
  • Each candidate routing path may lead from node 131 to a destination node (eg, server 120) and bypass link 143.
  • the node 131 is not on the link 143 where the congestion situation occurs, and each candidate routing path does not necessarily branch from the routing path RP-B1 at the node 131. It may branch from another node on the routing path RP-B1.
  • candidate routing paths may be links from nodes 131 to server 120 along links 141, 142, 150, 147, 148 (hereinafter also referred to as “routing path RP-B2”), links ( Paths leading from node 131 to server 120 along 141, 142, 149, 146, 147, 148 (hereinafter also referred to as “routing path RP-B3”) and links 145, 146, 147, 148 ) May include a path from node 131 to server 120 (also referred to as "routing path RP-B4").
  • the node 131 may then calculate the minimum cost path among the candidate routing paths and select it as an additional routing path.
  • node 133 may be configured as a first portion and a second portion of data traffic. Portions may be sent along existing routing path RP-A1 and additional routing path RP-A2, respectively. In addition, the node 133 may determine the transmission rate of each of the first portion and the second portion of the data traffic based on the congestion situation information.
  • node 131 selects an additional routing path based on information about congestion conditions that occur on link 143
  • node 131 selects nodes 131, 132,. 133, 134, and 120 may identify the node branching from the routing path RP-B1.
  • routing path RP-B4 is selected as an additional routing path
  • node 131 may identify that the node that routing path RP-B4 branches from routing path RP-B1 is itself. Accordingly, the node 131 may transmit the first portion and the second portion of the data traffic along the existing routing path RP-B1 and the additional routing path RP-B4, respectively, and based on the congestion situation information, the first portion of the data traffic.
  • the transmission rate of each of the portion and the second portion can be determined.
  • node 131 may identify that node 133 is a node where routing path RP-B2 branches from routing path RP-B1.
  • data traffic may be transmitted from nodes 131 to 133 over the same links 141, 142.
  • node 133 selects an additional routing path based on the same congestion situation information, the selected routing path will be routing path RP-A2.
  • the node 133 can distribute data traffic to the routing path RP-A2 as well as the existing routing path RP-A1.
  • node 131 is included in the routing path RP-B2 or the notification about routing path RP-B2 and the source from node 133.
  • a notification about routing path RP-A2 leading to 120 may be sent to node 133. This notification may cause node 133 to send the first and second portions of data traffic along existing routing path RP-A1 and additional routing path RP-A2, respectively.
  • the exemplary transmission control device 400 may be implemented or included in a node within the network environment 100.
  • the transmission control apparatus 400 includes an interface unit 410 and a control unit 420.
  • the interface unit 410 is configured to obtain information regarding a congestion situation occurring on the first routing path during transmission of data traffic to the destination node.
  • Such congestion situation information may indicate a congestion situation occurring on a link on the first routing path.
  • the congestion situation information may further indicate the packet loss rate on the link and / or the packet delay on that link.
  • the congestion situation information may be generated by a node located on the first routing path and detected by the congestion situation and transmitted to other nodes.
  • the controller 420 is configured to select the second routing path based on the obtained congestion situation information to route the first portion and the second portion of the data traffic to the destination node along the first routing path and the second routing path, respectively. .
  • the controller 420 may be configured to select a second routing path among at least one candidate routing path based on the congestion situation information.
  • Each of the candidate routing paths may be a path from the preset node to the destination node and bypassing the above link in which congestion occurs.
  • the second routing path may be preset to be selected among the paths from the specific node to the destination node.
  • the controller 420 may also be configured to cause the preset node to transmit the first portion and the second portion of the data traffic along the first routing path and the second routing path, respectively.
  • the controller 420 may allow the data traffic to be distributed from the predetermined node to the first routing path and the second routing path.
  • the controller 420 may determine the transmission rate of the first portion of the data traffic and the transmission rate of the second portion of the data traffic based on the congestion situation information.
  • the transmission rate of data traffic flowing out of the source node does not necessarily have to be reduced even after congestion occurs. This is because if the bandwidth on the second routing path is sufficient, the controller 420 can secure the transmission rate on the second routing path by reducing the transmission rate on the existing first routing path. Therefore, it is possible to maximize transmission efficiency while maintaining network fairness.
  • control unit 420 may also be configured to identify a node from which the second routing path branches from the first routing path among a plurality of nodes on the first routing path. If a path branching from the first routing path is selected as the second routing path from a node other than the preset node (for example, the node in which the transmission control apparatus 400 is implemented) among the candidate routing paths, the data at the preset node is selected. Traffic will not need to be distributed. Rather, the transmission control apparatus 400 may be implemented in the node identified as above, and data traffic may be distributed in the identified node.
  • the control unit 420 notifies the identified node about the second routing path or the routing included in the second routing path and continuing from the identified node to the destination node. A notification about the path can be sent, thereby enabling the identified node to distribute data traffic. Meanwhile, when the identified node is a preset node, the controller 420 may cause the node to transmit the first portion and the second portion of the data traffic along the first routing path and the second routing path, respectively. In any case, the transmission rate of data traffic leaving from the source node (eg, client 110) may not be reduced even after congestion occurs.
  • the source node eg, client 110
  • certain embodiments may include a computer readable storage medium containing a program for performing the processes described herein on a computer.
  • Such computer-readable storage media may include, alone or in combination with the program instructions, local data files, local data structures, and the like.
  • the computer readable storage medium may be those specially designed and configured for the present invention. Examples of computer-readable storage media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, magnetic-optical media such as floppy disks, and ROM, RAM, flash memory, and the like. Hardware devices specifically configured to store and execute the same program instructions are included.
  • Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.
  • a computer program for performing the process described herein may be provided. Such a program may be stored in a medium such as a computer readable storage medium to perform the above process in combination with hardware.

Abstract

예시적인 실시예에 따르면, 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치로서, 상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하도록 구성되는 인터페이스부; 및 상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하도록 구성되는 제어부를 포함하는 전송 제어 장치가 제공된다.

Description

데이터 트래픽의 전송을 제어하는 장치 및 방법
개시되는 실시예들은 데이터 트래픽의 전송을 제어하기 위한 장치 및 방법에 관한 것으로서, 더욱 구체적으로는 데이터 트래픽의 전송 중에 혼잡 상황이 발생한 경우 데이터 트래픽을 여러 라우팅 경로들로 분산하는 기법에 관한 것이다.
네트워크 환경에서 데이터 전송의 효율을 향상시키기 위한 다양한 방식들이 알려져 있다. 예를 들어, 오버레이 네트워킹(overlay networking) 기법은 출발지 노드(source node)와 목적지 노드(destination node) 사이에 하나 이상의 중간 노드 내지 오버레이 홉(overlay hop)을 배치함으로써 개선된 전송 효율을 달성할 수 있다.
오버레이 네트워킹 기법을 이용한 데이터 전송에서도 패킷 유실(packet loss), 라운드 트립 시간(Round Trip Time: RTT)의 증가, 전송 경로 상의 산발적 열화 등과 같은 다양한 요인들로 인해 혼잡 상황이 발생할 수 있다. 혼잡 상황이 발생한 경우, 데이터가 전송되는 경로 상의 전송 레이트(transmission rate)를 신속히 감소시키는 혼잡 회피(congestion avoidance) 기법이 요구될 수 있다. 그러나, 통상적인 혼잡 회피 기법들에 따르면, 감소된 전송 레이트는 완만하게 증가되기 마련이다. 혼잡 상황이 해소되기 전에 급격히 전송 레이트를 증가시키는 것은 네트워크 공정성(network fairness)(즉, 공유된 네트워크 자원의 공정한 할당)을 저해할 수 있기 때문이다.
더욱이, 오버레이 네트워크 환경에서 데이터 전송을 보장하기 위한 프로토콜이 채택된 경우, 유실된 데이터의 재전송을 계속 시도하는 것은 혼잡 상황을 더욱 악화시킬 수 있다. 이러한 문제점을 해결하기 위해, 미리 정의된 복수의 경로(예컨대, 3개의 경로) 상에서 동일한 데이터를 출발지 노드로부터 전송하고 목적지 노드에 먼저 수신된 데이터를 취할 수 있다. 이러한 접근법에 따르면, 어떤 경로 상에서 혼잡 상황이 발생하더라도 다른 경로를 통한 데이터 전송은 성공적일 수 있다. 그러나, 전송 경로의 개수가 증가할수록 더 많은 트래픽 비용이 데이터 전송에 요구될 것이다.
나아가, 저장된 대용량 데이터(예컨대, 저장 장치에 이미 저장된 대용량 파일) 또는 실시간 멀티미디어 데이터(예컨대, 실시간으로 생성되는 오디오, 비디오 또는 이들의 조합을 포함함)와 같은 다양한 타입의 데이터의 전송에서 지연시간의 감소가 대단히 중요하다.
이러한 점들에 비추어 볼 때, 혼잡 상황이 발생한 경우 높은 효율의 데이터 전송을 가능하게 하는 새로운 기법이 필요하다.
[선행기술문헌]
[특허문헌]
대한민국 공개특허공보 제10-2011-0137616호 (2011. 12. 23. 공개)
개시되는 실시예들은 데이터 트래픽의 전송 중에 혼잡 상황이 발생한 경우 데이터 트래픽의 전송을 제어하기 위한 향상된 기법을 제공한다.
예시적인 실시예에 따르면, 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치로서, 상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하도록 구성되는 인터페이스부; 및 상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하도록 구성되는 제어부를 포함하는 전송 제어 장치가 제공된다.
상기 정보는 상기 제1 라우팅 경로 내 링크 상에서 발생한 상기 혼잡 상황을 나타낼 수 있다.
상기 제어부는 상기 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 상기 제2 라우팅 경로를 선택하도록 구성될 수 있고, 상기 적어도 하나의 후보 라우팅 경로 각각은 미리 설정된 노드로부터 상기 목적지 노드까지 이어지고 상기 링크를 우회할 수 있다.
상기 적어도 하나의 후보 라우팅 경로는 상기 미리 설정된 노드에서 상기 제1 라우팅 경로로부터 분기할 수 있고, 상기 제어부는 또한 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하도록 구성될 수 있다.
상기 제어부는 또한 상기 정보에 기반하여 상기 제1 부분의 전송 레이트(transmission rate) 및 상기 제2 부분의 전송 레이트를 결정하도록 구성될 수 있다.
상기 제어부는 또한 상기 제1 라우팅 경로 상의 복수의 노드 중에서 상기 제2 라우팅 경로가 상기 제1 라우팅 경로로부터 분기하는 노드를 식별하도록 구성될 수 있다.
상기 제어부는 또한 상기 식별된 노드가 상기 미리 설정된 노드인 경우 상기 식별된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하도록 구성될 수 있다.
상기 제2 라우팅 경로는 상기 적어도 하나의 후보 라우팅 경로 중 최소 코스트 경로(minimum cost path)일 수 있다.
상기 정보는 또한 상기 링크 상의 패킷 유실 레이트(packet loss rate) 및 상기 링크 상의 패킷 지연 중 적어도 하나를 나타낼 수 있다
상기 혼잡 상황은 상기 제1 라우팅 경로 상의 중간 노드에서 감지될 수 있고, 상기 정보는 상기 중간 노드에서 유래할 수 있다.
다른 예시적인 실시예에 따르면, 목적지 노드로의 데이터 트래픽의 전송을 제어하는 방법으로서, 상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하는 단계; 및 상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하는 단계를 포함하는 전송 제어 방법이 제공된다.
상기 정보는 상기 제1 라우팅 경로 내 링크 상에서 발생한 상기 혼잡 상황을 나타낼 수 있다.
상기 제2 라우팅 경로를 선택하는 단계는 상기 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 상기 제2 라우팅 경로를 선택하는 단계를 포함할 수 있고, 상기 적어도 하나의 후보 라우팅 경로 각각은 미리 설정된 노드로부터 상기 목적지 노드까지 이어지고 상기 링크를 우회할 수 있다.
상기 적어도 하나의 후보 라우팅 경로는 상기 미리 설정된 노드에서 상기 제1 라우팅 경로로부터 분기할 수 있고, 상기 전송 제어 방법은 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하는 단계를 더 포함할 수 있다.
상기 전송 제어 방법은, 상기 정보에 기반하여 상기 제1 부분의 전송 레이트(transmission rate) 및 상기 제2 부분의 전송 레이트를 결정하는 단계를 더 포함할 수 있다.
상기 전송 제어 방법은, 상기 제1 라우팅 경로 상의 복수의 노드 중에서 상기 제2 라우팅 경로가 상기 제1 라우팅 경로로부터 분기하는 노드를 식별하는 단계를 더 포함할 수 있다.
상기 전송 제어 방법은, 상기 식별된 노드가 상기 미리 설정된 노드인 경우 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하는 단계를 더 포함할 수 있다.
상기 제2 라우팅 경로는 상기 적어도 하나의 후보 라우팅 경로 중 최소 코스트 경로일 수 있다.
상기 정보는 또한 상기 링크 상의 패킷 유실 레이트 및 상기 링크 상의 패킷 지연 중 적어도 하나를 나타낼 수 있다.
상기 혼잡 상황은 상기 제1 라우팅 경로 상의 중간 노드에서 감지될 수 있고, 상기 정보는 상기 중간 노드에서 유래할 수 있다.
또 다른 예시적인 실시예에 따르면, 하드웨어와 결합되어, 상기 전송 제어 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램이 제공된다.
소정의 실시예들에 따르면, 데이터 트래픽의 전송 중에 혼잡 상황이 발생한 경우, 데이터 트래픽이 상이한 라우팅 경로들을 통해 분산될 수 있다.
소정의 실시예들은 네트워크 공정성을 보장하면서도 전송 효율의 향상시킬 수 있다.
소정의 실시예들은 과다한 트래픽 비용을 요구하지 않으면서 고속 데이터 전송에 적용될 수 있다.
소정의 실시예들에 따르면, 미리 분산 방식으로 배포할 수 없는 데이터(예컨대, 이미 저장된 대용량 파일 데이터 또는 실시간으로 생성되는 실시간 멀티미디어 데이터)가 효과적으로 전송될 수 있다.
도 1은 예시적인 실시예에 따른 네트워크 환경을 도시한 도면,
도 2는 예시적인 실시예에 따라 네트워크 환경 내의 노드들의 프로토콜 스택을 도식적으로 나타낸 도면,
도 3은 예시적인 실시예에 따라 목적지 노드로의 데이터 트래픽의 전송을 제어하는 과정을 도시한 도면,
도 4는 예시적인 실시예에 따라 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치를 도시한 도면.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 예시적인 실시예에 따른 네트워크 환경을 도시한다.
도 1에 도시된 바와 같이, 네트워크 환경(100)은 클라이언트(110) 및 서버(120)를 두 엔드포인트(endpoint) 노드들로서 포함할 수 있다. 또한, 네트워크 환경(100)은 클라이언트(110) 및 서버(120) 간에 위치한 오버레이 네트워크 시스템(130)을 더 포함할 수 있다. 예를 들어, 음성 인식 서비스가 서버(120)로부터 클라이언트(110)로 제공될 수 있는데, 클라이언트(110)는 음성을 나타내는 데이터를 오버레이 네트워크 시스템(130)을 통해 서버(120)에 송신하고 서버(120)는 그 데이터로부터 음성을 인식하고 인식된 음성에 기반하여 다른 데이터를 오버레이 네트워크 시스템(130)을 통해 클라이언트(110)에 제공하는 방식으로 위 음성 인식 서비스가 수행될 수 있다. 다른 예로서, 클라이언트(110)와 서버(120) 간 대용량 파일 전송을 위한 서비스가 제공될 수 있다. 이러한 서비스는 클라이언트(110)에 저장된 파일을 오버레이 네트워크 시스템(130)을 통해 서버(120)에 송신하고/하거나 서버(120)에 저장된 다른 파일을 오버레이 네트워크 시스템(130)을 통해 클라이언트(110)에 송신할 수 있다.
오버레이 네트워크 시스템(130)은 적어도 하나의 진입 노드(Ingress Node: IN), 적어도 하나의 바이패스 노드(Bypass Node: BN) 및 적어도 하나의 진출 노드(Egress Node: EN)를 중간 노드들로서 포함할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 오버레이 네트워크 시스템(130)은 진입 노드(131), 바이패스 노드들(132, 133, 135, 136) 및 진출 노드들(134, 137)을 포함할 수 있다. 이에 따라, 데이터가 클라이언트(110)로부터 진입 노드(131)를 거쳐 오버레이 네트워크 시스템(130)에 유입될 수 있다. 또한, 그 데이터는 진출 노드(134) 또는 진출 노드(137)을 거쳐 오버레이 네트워크 시스템(130)으로부터 서버(120)로 유출될 수 있다. 나아가, 바이패스 노드들(132, 133, 135, 136)은 위 데이터가 진입 노드(131)에서 진출 노드(134) 또는 진출 노드(137)까지 전송될 수 있도록 데이터 통신을 중계할 수 있다.
네트워크 환경(100) 내의 노드들(110, 120, 131, 132, 133, 134, 135, 136, 137) 중 제1 노드와 제2 노드 간에는 데이터 전송에 이용 가능한 적어도 하나의 경로가 존재할 수 있다. 이러한 전송 경로는 링크들(140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150) 중 하나 이상의 링크를 포함할 수 있다. 또한, 노드들(110, 120, 131, 132, 133, 134, 135, 136, 137) 중 제3 노드가 그 경로 상에 위치한 경우, 위 경로는 제1 노드와 제3 노드 간의 경로 및 제3 노드와 제2 노드 간의 경로를 포함한다고 볼 수 있다.
네트워크 환경(100)에서는 클라이언트(110)와 서버(120) 간의 데이터 전송을 보장하는 정책이 채택될 수 있다. 이러한 단대단(end-to-end) 전송 보장을 위해, 엔드포인트 노드들(110, 120) 각각 및 중간 노드들(131, 132, 133, 134, 135, 136, 137) 중 적어도 일부는 혼잡 상황(예컨대, 데이터 유실 및/또는 데이터 전송 지연)의 발생을 감지하여 데이터 재전송을 요청할 수 있다. 다시 말해, 이러한 노드들은 각각 노드 대 노드(node-to-node) 전송을 보장하기 위한 적어도 하나의 프로토콜을 구비할 수 있다. 다만, 몇몇 실시예들에 따르면, 중간 노드들(131, 132, 133, 134, 135, 136, 137) 중 특정 노드들 간에는 데이터 전송이 보장되지 않을 수도 있다. 이와 같이 특정한 노드 대 노드 전송이 보장되지 않는 경우, 특정 노드들 간 데이터 전송에서 혼잡 상황이 발생하더라도, 네트워크 환경(100) 내의 엔드포인트 노드(예컨대, 서버(120))가 데이터 재전송을 요청하는 한편, 특정 노드들 각각은 직접 재전송을 요청하지 않을 수 있다.
예를 들어, 도 2에 도시된 바와 같이, 링크들(140, 141, 142, 143, 144)을 따라 클라이언트(110)로부터 서버(120)까지 이어지는 라우팅 경로(이하, "라우팅 경로 RP1"라고도 지칭됨) 상의 노드들(110, 131, 132, 133, 134, 120)은 각각 몇몇 프로토콜을 구비할 수 있다. 도 2로부터 클라이언트(110)와 서버(120)는 각각 TCP(Transmission Control Protocol)(210)를 구비하고 중간 노드들(131, 132, 133, 134)은 각각 UDP(User Datagram Protocol)(220)를 구비함을 알 수 있다. 또한, 중간 노드들(131, 132, 133, 134)은 라우팅 프로토콜(230)을 구비할 수 있다. 나아가, 진입 노드(130)와 진출 노드(134)는 각각 데이터 전송 보장을 위한 전송 프로토콜(240)을 구비할 수 있다. 그 밖에도 노드들(110, 131, 132, 133, 134, 120) 각각은 추가적인 프로토콜(예컨대, HTTP(Hypertext Transfer Protocol)(250)과 같은 애플리케이션 계층 프로토콜)을 더 포함할 수 있다.
도 2에 도시된 바와 같이 진입 노드(130)와 진출 노드(134)에 전송 프로토콜(240)이 포함된 경우, 클라이언트(110)와 진입 노드(131) 간 데이터 전송(260), 진입 노드(130)와 진출 노드(134) 간 데이터 전송(261), 그리고 진출 노드(134)와 서버(120) 간 데이터 전송(262)은 보장될 수 있다. 이에 반해, 진입 노드(130)와 바이패스 노드(133) 사이에서는 데이터 전송이 보장되지 않을 것이다. 마찬가지로, 바이패스 노드(132)와 진출 노드(134) 사이에서는 데이터 전송이 보장되지 않을 것이다.
몇몇 다른 실시예들에 따르면, 바이패스 노드들(132, 133)에도 전송 프로토콜(240)이 포함될 수 있고, 이에 따라 노드들(110, 131, 132, 133, 134, 120) 중 임의의 두 노드 간의 데이터 전송이 보장될 수 있다.
나아가, 도 2의 라우팅 프로토콜(230)에 따라, 중간 노드들(131, 132, 133, 134) 각각은 그 노드를 통한 데이터 전송 동안 발생한 혼잡 상황을 감지하여 그 혼잡 상황에 관한 정보를 생성할 수 있고, 그러한 혼잡 상황 정보는 노드들(131, 132, 133, 134) 전부 또는 (예컨대, 라우팅 프로토콜(230)에 따라 미리 설정된) 몇몇 노드들 간에 공유될 수 있다. 라우팅 프로토콜(230)은 목적지 노드(예컨대, 서버(120))로의 데이터 트래픽이 전달될 라우팅 경로를 선택하는 데에 혼잡 상황 정보를 반영하도록 정의될 수 있다. 이에 따라, 라우팅 프로토콜(230)은 혼잡 상황에 관한 정보를 기반으로 전송 중인 데이터 트래픽을 분산시키는 방식으로 데이터 트래픽을 목적지로 라우팅할 수 있다.
예시적인 설명을 위해, 서버(120)의 주소를 목적지 주소로 가지는 패킷들의 데이터 트래픽을 클라이언트(110)로부터 서버(120)로 전송하기 위한 경로가 초기에 라우팅 경로 RP1(링크들(140, 141, 142, 143, 144)을 포함함)로 선택되었고, 그 데이터 트래픽은 100Mbps의 전송 레이트로 클라이언트(110)로부터 진입 노드(131)에 유입된다고 가정한다. 위와 같은 데이터 트래픽 전송 중에 라우팅 경로 RP1 내의 링크(143) 상에서 혼잡 상황이 발생할 수 있다. 이러한 혼잡 상황에도 불구하고 데이터 트래픽을 계속해서 100Mbp의 전송 레이트로 노드(133)로부터 노드(134)에 전송하는 것은 네트워크 공정성을 해칠 수 있으므로, 데이터 트래픽을 감소된 전송 레이트로 노드(133)로부터 노드(134)에 전송하는 것이 필요할 수 있다. 나아가, 그러한 혼잡 상황에 관한 정보에 기반하여 다른 라우팅 경로가 추가적으로 선택될 수 있다. 편의상, 링크들(140, 141, 142, 150, 147, 148)을 따라 클라이언트(110)로부터 서버(120)로 이어지는 라우팅 경로(이하, "라우팅 경로 RP2"라고도 지칭됨)가 추가적으로 선택되었다고 가정한다. 이에 따라, 데이터 트래픽의 몇몇 패킷들이 라우팅 경로 RP1 상에서 전송되는 동안, 데이터 트래픽의 다른 패킷들은 라우팅 경로 RP2를 따라 전송될 수 있다.
그러한 혼잡 상황의 발생 이후 라우팅 경로 RP1 상에서의 전송 레이트 및 라우팅 경로 RP2 상에서의 전송 레이트를 변경시키기 위해 (i) 기존의 TCP(Transmission Control Protocol) 혼잡 회피 알고리즘(congestion avoidance algorithm), (ii) 별도로 설계된 AIMD(Additive Increase/Multiplicative Decrease) 접근법 또는 Slow Start 접근법 또는 (iii) 오버레이 네트워크 시스템(130) 내지 오버레이 네트워크 시스템(130)의 관리자에 의해 미리 설정된 정책과 같은 혼잡 제어 방식이 채택될 수 있고, 앞서 언급된 전송 레이트들의 추이는 채택된 혼잡 제어 방식에 따라 달라질 수 있다. 예를 들어, 라우팅 경로 RP1 상에서의 전송 레이트 및 라우팅 경로 RP2 상에서의 전송 레이트를 일단 신속히 큰 폭으로 감소시킨 후 각각 80Mbps 및 20Mbps까지 점차적으로 증가시키는 AIMD 접근법이 채택될 수 있다. 다른 예로서, 미리 설정된 정책에 따라, 혼잡 상황의 발생 직후 곧바로 라우팅 경로 RP1 및 라우팅 경로 RP2 상에서 각각 80Mbps 및 20Mbps로 데이터 트래픽 전송이 개시될 수 있다.
한편, 라우팅 경로 RP2 상에서 패킷들이 20Mbps의 전송 레이트로 전송되는 동안 다른 혼잡 상황이 발생할 수 있다. 이러한 경우, 앞서 언급된 방식과 유사하게 또 다른 라우팅 경로가 추가적으로 선택될 수 있다. 편의상, 링크들(140, 141, 142, 149, 146, 147, 148)을 따라 클라이언트(110)로부터 서버(120)로 이어지는 라우팅 경로(이하, "라우팅 경로 RP3"라고도 지칭됨)가 추가적으로 선택되었다고 가정한다. 이에 따라, 라우팅 경로 RP2를 따라 전송되던 데이터 트래픽 중 일부는 그대로 라우팅 경로 RP2를 따라 전송될 수 있고, 그 데이터 트래픽 중 나머지는 라우팅 경로 RP3를 따라 전송될 수 있다. 만일 중간 노드들(131, 132, 133, 134, 135, 136, 137) 중 적어도 일부를 경유하는 어떠한 라우팅 경로도 클라이언트(110)로부터 서버(120)까지 데이터 트래픽을 전송하는 데 이용 가능하지 않은 경우, 데이터 트래픽은 클라이언트(110)로부터 직접 서버(120)로 전송될 수 있다. 이러한 직접 전송은 최선형(best effort) 방식으로 수행될 수 있다.
앞서 언급된 바와 같이 혼잡 상황 정보에 기반하여 데이터 트래픽을 라우팅하는 기법에 따르면, 데이터 트래픽의 전송 중에 혼잡 상황이 발생한 경우, 엔드포인트 노드들 간 재전송이 요구되지 않을 뿐만 아니라 데이터 트래픽을 상이한 라우팅 경로들을 통해 분산 방식으로 전송하는 것이 가능하다. 특히, 이러한 기법은 네트워크 공정성을 보장하면서도 전송 효율의 감소를 방지할 수 있다.
네트워크 환경(100) 내의 노드들(110, 120, 131, 132, 133, 134, 135, 136, 137) 각각은 하나 이상의 프로세서 및 그 프로세서에 의해 액세스 가능한 메모리와 같은 컴퓨터 판독 가능 저장 매체를 포함하는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 저장 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨터 판독 가능 저장 매체에는 컴퓨터 실행 가능 명령어가 저장되어 있을 수 있다. 프로세서는 컴퓨터 판독 가능 저장 매체에 저장된 명령어를 실행할 수 있다. 그러한 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 예시적인 실시예에 따른 동작을 수행하게 할 수 있다.
도 3은 예시적인 실시예에 따라 목적지 노드로의 데이터 트래픽의 전송을 제어하는 과정을 도시한다.
시작 동작 후, 예시적인 과정(300)은 동작(S310)으로 진행된다. 동작(S310)에서, 목적지 노드로의 데이터 트래픽의 전송 중에 라우팅 경로 상에서 발생한 혼잡 상황이 감지된다.
예를 들어, 클라이언트(110)로부터 서버(120)로의 데이터 트래픽의 전송을 위해 라우팅 경로 RP1가 선택되었다고 가정한다. 달리 말하면, 라우팅 경로 RP1 상의 각 노드는 그 노드로부터 서버(120)로 이어지고 라우팅 경로 RP1에 포함된 라우팅 경로를 선택한다고 볼 수 있다. 가령, 라우팅 경로 RP1 상의 노드(133)는 링크들(143, 144)을 따라 노드(133)로부터 서버(120)로 이어지는 라우팅 경로(이하 "라우팅 경로 RP-A1"라고도 지칭됨)를 선택하고 라우팅 경로 RP1 상의 노드(131)는 링크들(141, 142, 143, 144)을 따라 노드(131)로부터 서버(120)로 이어지는 라우팅 경로(이하 "라우팅 경로 RP-B1"라고도 지칭됨)를 선택한다고 볼 수 있다.
앞서 언급된 바와 같이, 데이터 트래픽의 전송 중에 링크(143) 상에서 혼잡 상황이 발생한 경우 노드(134)가 그 혼잡 상황을 감지할 수 있다. 몇몇 실시예들에 따르면, 중간 노드들(131, 132, 133, 134, 135, 136, 137) 중 소정의 노드(예컨대, 전송 프로토콜(240)을 구비한 노드(131))는 데이터 트래픽 내 패킷과 함께 자신을 식별하는 식별 번호(identification number), 그 패킷의 시퀀스 번호(sequence number) 및/또는 타임스탬프(timestamp)를 그 노드에 인접한 다음 노드로 전송할 수 있다. 이어서, 그 패킷은 위와 같은 식별번호, 시퀀스 번호 및/또는 타임스탬프와 함께 다른 노드에도 전달될 수 있다. 따라서, 노드(131)로부터 전송된 패킷을 수신한 노드(예컨대, 노드(134))는 (i) 그 패킷과 연관된 식별 번호, 시퀀스 번호 및/또는 타임스탬프를 이용하여 패킷 유실 내지 패킷 전송 지연이 발생하였는지 여부를 판정할 수 있고, (ii) 이에 따라 단위 시간 동안 수신된 패킷의 개수와 유실/지연된 패킷의 개수로부터 패킷 유실 레이트(packet loss rate)를 산출할 수 있으며, (iii) 궁극적으로 패킷 유실 레이트가 미리 설정된 임계 값을 초과하는지에 따라 혼잡 상황이 발생하였는지 여부를 판정할 수 있다.
동작(S320)에서, 감지된 혼잡 상황과 관련된 정보가 생성된다. 예컨대, 노드(134)는 링크(143) 상에서 발생한 혼잡 상황을 감지한 후 그 혼잡 상황을 나타내는 정보를 생성할 수 있다. 몇몇 실시예들에 따르면, 혼잡 상황 정보는 혼잡 상황의 발생 여부를 나타내는 메트릭(metric)을 포함할 수 있다. 나아가, 혼잡 상황 정보는 추가적으로 링크(143) 상의 패킷 지연을 나타내는 메트릭 및/또는 링크(143) 상의 패킷 유실 레이트를 나타내는 메트릭을 더 포함할 수 있다.
동작(S330)에서, 혼잡 상황을 감지한 노드로부터 다른 노드(예컨대, 그에 인접한 노드 및/또는 다른 특정 노드)로 혼잡 상황 정보가 전달된다. 예를 들어, 혼잡 상황 정보는 특정 이벤트가 발생하는 경우(혼잡 상황이 발생하거나 특정 메트릭이 임계 값을 초과한다고 판정된 경우)에 또는 요청에 따라 전파될 수 있다.
일 예로서, 노드(134)가 혼잡 상황의 발생을 감지하여 새로운 혼잡 상황 정보를 생성한 경우, 노드(134)는 즉시 혼잡 상황 정보를 노드(133)에 전달할 수 있다. 다른 예로서, 노드(133)는 혼잡 상황 정보에 대한 요청을 노드(134)에 전송할 수 있고, 노드(134)는 그 요청을 수신하는 것에 응답하여 자신이 유지하는 혼잡 상황 정보를 노드(133)에 전송할 수 있다. 또한, 노드(134)에 의해 생성된 혼잡 상황 정보는 노드(133) 이외의 다른 노드로도 (예컨대, 노드(133)를 거쳐) 전송될 수 있다. 예컨대, 진입 노드(131) 역시 노드(134)에서 유래하는 혼잡 상황 정보를 획득할 수 있다.
나아가, 혼잡 상황 정보를 수신한 노드(예컨대, 노드(131) 또는 노드(133))는 혼잡 상황 정보의 수명(lifetime)을 관리할 수 있다. 예를 들어, 혼잡 상황 정보가 수신된 시점부터 특정 시간 내에 혼잡 상황 정보가 갱신되지 않는 경우, 노드(133)는 혼잡 상황 정보를 파기할 수 있다.
동작(S340)에서, 혼잡 상황 정보에 기반하여 추가적인 라우팅 경로가 선택된다.
일 예로서, 노드(133)가 노드(134)로부터 링크(143) 상에서 발생한 혼잡 상황에 관한 정보를 획득한 경우, 노드(133)는 획득된 혼잡 상황 정보를 이용하여 적어도 하나의 후보 라우팅 경로로부터 추가적인 라우팅 경로를 선택할 수 있고, 이로써 데이터 트래픽의 일부는 기존의 라우팅 경로 RP-A1를 따라 라우팅할 수 있고 데이터 트래픽의 다른 일부는 추가적인 라우팅 경로를 따라 라우팅할 수 있다. 후보 라우팅 경로 각각은 노드(133)로부터 목적지 노드(예컨대, 서버(120))로 이어지고 링크(143)를 우회할 수 있다.
몇몇 실시예들에 따르면, 노드(133)가 위와 같은 혼잡 상황 정보를 획득한 경우, 노드(133)는 노드(133)로부터 목적지 노드까지의 가능한 경로들 중에서 링크(143)를 거치지 않는 경로들을 식별할 수 있다. 이어서, 노드(133)는 식별된 경로들을 후보 라우팅 경로들로 설정할 수 있다. 특히, 각 후보 라우팅 경로는 노드(133)에서 라우팅 경로 RP-A1로부터 분기할 수 있다.
또한, 노드(133)는 각 후보 라우팅 경로의 코스트(cost)(예컨대, 그 경로 내의 각 링크 상의 전송 지연시간에 기반하여 산출될 수 있음)를 계산할 수 있다. 따라서, 노드(133)는 후보 라우팅 경로들 중 최소 코스트 경로를 산출할 수 있다. 이어서, 노드(133)는 산출된 최소 코스트 경로를 추가적인 라우팅 경로로 선택할 수 있다. 예컨대, 산출된 최소 코스트 경로는 링크들(150, 147, 148)을 따라 노드(133)로부터 서버(120)까지 이어지는 경로(이하 "라우팅 경로 RP-A2"라고도 지칭됨)일 수 있다. 도 1을 다시 참조하면, 라우팅 경로 RP-A2는 노드(133)에서 라우팅 경로 RP-A1로부터 분기한다는 점을 알 수 있다.
이러한 최소 코스트 경로는 노드(133)로부터 목적지 노드로 이어지고 링크(143)를 우회하는 경로들 중 최소의 코스트를 가지는 경로를 의미하며, 반드시 노드(133)로부터 목적지 노드까지의 최소 코스트 경로와 같지는 않다는 점에 유의하여야 할 것이다. 예를 들어, 라우팅 경로 RP1가 클라이언트(110)로부터 서버(120)까지의 최소 코스트 경로라면, 노드(133)로부터 서버(120)까지의 최소 코스트 경로는 라우팅 경로 RP-A1인데, 이는 링크(143)를 통과한다.
다른 예로서, 노드(131)가 링크(143) 상에서 발생한 혼잡 상황에 관한 정보를 획득한 경우, 노드(131)는 획득된 혼잡 상황 정보에 기반하여 적어도 하나의 후보 라우팅 경로로부터 추가적인 라우팅 경로를 선택할 수 있다. 후보 라우팅 경로 각각은 노드(131)로부터 목적지 노드(예컨대, 서버(120))로 이어지고 링크(143)를 우회할 수 있다. 다만, 앞서 언급된 예와 달리, 노드(131)는 혼잡 상황이 발생한 링크(143) 상에 있지 않은바, 각 후보 라우팅 경로는 반드시 노드(131)에서 라우팅 경로 RP-B1로부터 분기하는 것은 아니며, 라우팅 경로 RP-B1 상의 다른 노드에서 분기할 수도 있다. 예컨대, 후보 라우팅 경로들은 링크들(141, 142, 150, 147, 148)을 따라 노드(131)로부터 서버(120)까지 이어지는 경로(이하 "라우팅 경로 RP-B2"라고도 지칭됨), 링크들(141, 142, 149, 146, 147, 148)을 따라 노드(131)로부터 서버(120)까지 이어지는 경로(이하 "라우팅 경로 RP-B3"라고도 지칭됨) 및 링크들(145, 146, 147, 148)을 따라 노드(131)로부터 서버(120)까지 이어지는 경로(이하 "라우팅 경로 RP-B4"라고도 지칭됨)을 포함할 수 있다. 이어서, 노드(131)는 후보 라우팅 경로들 중 최소 코스트 경로를 산출하여 이를 추가적인 라우팅 경로로 선택할 수 있다.
동작(S350)에서, 데이터 트래픽의 일부는 기존의 라우팅 경로를 따라 전송되면서 데이터 트래픽의 다른 일부는 추가적인 라우팅 경로를 따라 전송된다.
일 예로서, 노드(133)가 링크(143) 상에서 발생한 혼잡 상황에 관한 정보에 기반하여 라우팅 경로 RP-A2를 추가적인 라우팅 경로로 선택한 경우, 노드(133)는 데이터 트래픽의 제1 부분 및 제2 부분을 각각 기존의 라우팅 경로 RP-A1 및 추가적인 라우팅 경로 RP-A2를 따라 전송할 수 있다. 또한, 노드(133)는 혼잡 상황 정보에 기반하여 데이터 트래픽의 제1 부분 및 제2 부분 각각의 전송 레이트를 결정할 수 있다.
다른 예로서, 노드(131)가 링크(143) 상에서 발생한 혼잡 상황에 관한 정보에 기반하여 추가적인 라우팅 경로를 선택한 경우, 노드(131)는 기존의 라우팅 경로 RP-B1 상의 노드들(131, 132, 133, 134, 120) 중에서 추가적인 라우팅 경로가 라우팅 경로 RP-B1로부터 분기하는 노드를 식별할 수 있다. 예컨대, 라우팅 경로 RP-B4가 추가적인 라우팅 경로로 선택된 경우, 노드(131)는 라우팅 경로 RP-B4가 라우팅 경로 RP-B1로부터 분기하는 노드가 자신임을 식별할 수 있다. 따라서, 노드(131)는 데이터 트래픽의 제1 부분 및 제2 부분을 각각 기존의 라우팅 경로 RP-B1 및 추가적인 라우팅 경로 RP-B4를 따라 전송할 수 있고, 혼잡 상황 정보에 기반하여 데이터 트래픽의 제1 부분 및 제2 부분 각각의 전송 레이트를 결정할 수 있다. 이와 달리, 라우팅 경로 RP-B2가 추가적인 라우팅 경로로 선택된 경우, 노드(131)는 라우팅 경로 RP-B2가 라우팅 경로 RP-B1로부터 분기하는 노드가 노드(133)임을 식별할 수 있다. 따라서, 데이터 트래픽은 노드(131)에서 노드(133)까지 동일한 링크들(141, 142)을 거쳐 전송될 수 있다. 만일 노드(133)가 동일한 혼잡 상황 정보에 기반하여 추가적인 라우팅 경로를 선택한다면, 선택된 라우팅 경로는 라우팅 경로 RP-A2일 것이다. 따라서, 노드(133)는 데이터 트래픽을 기존의 라우팅 경로 RP-A1뿐만 아니라 라우팅 경로 RP-A2로도 분산시킬 수 있다. 반면, 노드(133)가 혼잡 상황 정보에 따라 추가적인 라우팅 경로를 선택하지 않거나 못한 경우, 노드(131)는 라우팅 경로 RP-B2에 관한 통지 또는 라우팅 경로 RP-B2에 포함되고 노드(133)로부터 소스(120)로 이어지는 라우팅 경로 RP-A2에 관한 통지를 노드(133)에 전송할 수 있다. 이 통지는 노드(133)로 하여금 데이터 트래픽의 제1 부분 및 제2 부분을 각각 기존의 라우팅 경로 RP-A1 및 추가적인 라우팅 경로 RP-A2를 따라 전송하게 할 수 있다.
도 4는 예시적인 실시예에 따라 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치를 도시한다. 예시적인 전송 제어 장치(400)는 네트워크 환경(100) 내의 노드 내에 구현되거나 포함될 수 있다.
도 4에 도시된 바와 같이, 전송 제어 장치(400)는 인터페이스부(410) 및 제어부(420)를 포함한다.
인터페이스부(410)는 목적지 노드로의 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하도록 구성된다. 그러한 혼잡 상황 정보는 제1 라우팅 경로 상의 링크에서 발생한 혼잡 상황을 나타낼 수 있다. 나아가, 혼잡 상황 정보는 그 링크 상의 패킷 유실 레이트 및/또는 그 링크 상의 패킷 지연을 더 나타낼 수 있다. 혼잡 상황 정보는 제1 라우팅 경로 상에 위치하고 혼잡 상황을 감지한 노드에 의해 생성되어 다른 노드들로 전송될 수 있다.
제어부(420)는 획득된 혼잡 상황 정보를 기반으로 제2 라우팅 경로를 선택하여 데이터 트래픽의 제1 부분 및 제2 부분을 각각 제1 라우팅 경로 및 제2 라우팅 경로를 따라 목적지 노드로 라우팅하도록 구성된다. 예를 들어, 제어부(420)는 혼잡 상황 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 제2 라우팅 경로를 선택하도록 구성될 수 있다. 후보 라우팅 경로 각각은 미리 설정된 노드로부터 목적지 노드까지 이어지고 혼잡 상황이 발생한 위 링크를 우회하는 경로일 수 있다. 전송 제어 장치(400)가 특정 노드 내에 구현된 경우, 제2 라우팅 경로는 그 특정 노드로부터 목적지 노드까지의 경로들 중에서 선택된다고 미리 설정될 수 있다.
몇몇 실시예들에서, 제어부(420)는 또한 미리 설정된 노드로 하여금 데이터 트래픽의 제1 부분 및 제2 부분을 각각 제1 라우팅 경로 및 제2 라우팅 경로를 따라 전송하게 하도록 구성될 수 있다. 특히, 각 후보 라우팅 경로가 미리 설정된 노드(예컨대, 전송 제어 장치(400)가 구현된 노드)에서 제1 라우팅 경로로부터 분기하는 경우, 미리 설정된 노드에서 제1 라우팅 경로 및 제2 라우팅 경로는 각각 상이한 다음 노드로 이어질 것이다. 따라서, 제어부(420)는 데이터 트래픽이 미리 설정된 노드로부터 제1 라우팅 경로 및 제2 라우팅 경로로 분산되도록 할 수 있다. 아울러, 제어부(420)는 혼잡 상황 정보에 기반하여 데이터 트래픽의 제1 부분의 전송 레이트 및 데이터 트래픽의 제2 부분의 전송 레이트를 결정할 수 있다. 이에 따라, 출발지 노드(예컨대, 클라이언트(110))로부터 유출되는 데이터 트래픽의 전송 레이트는 혼잡 상황이 발생한 후에도 반드시 감소되어야 하는 것은 아니다. 이는, 제2 라우팅 경로 상의 대역폭이 충분하다면, 제어부(420)가 기존의 제1 라우팅 경로 상의 전송 레이트를 감소시킨 만큼 제2 라우팅 경로 상의 전송 레이트를 확보할 수 있기 때문이다. 따라서, 네트워크 공정성을 지키면서도 전송 효율을 극대화하는 것이 가능하다.
몇몇 다른 실시예들에서, 제어부(420)는 또한 제1 라우팅 경로 상의 복수의 노드 중에서 제2 라우팅 경로가 제1 라우팅 경로로부터 분기하는 노드를 식별하도록 구성될 수 있다. 후보 라우팅 경로들 중에서 미리 설정된 노드(예컨대, 전송 제어 장치(400)가 구현된 노드)가 아닌 다른 노드에서 제1 라우팅 경로로부터 분기하는 경로가 제2 라우팅 경로로 선택되는 경우, 미리 설정된 노드에서 데이터 트래픽이 분산될 필요가 없을 것이다. 오히려, 위와 같이 식별된 노드 내에 전송 제어 장치(400)가 구현될 수 있고, 식별된 노드에서 데이터 트래픽이 분산될 수 있다. 식별된 노드 내에 전송 제어 장치(400)가 구현되지 않은 경우에는, 제어부(420)가 식별된 노드에 제2 라우팅 경로에 관한 통지 또는 제2 라우팅 경로에 포함되고 식별된 노드로부터 목적지 노드까지 이어지는 라우팅 경로에 관한 통지를 전송할 수 있고, 이로써 식별된 노드로 하여금 데이터 트래픽을 분산하게 할 수 있다. 한편, 식별된 노드가 미리 설정된 노드인 경우, 제어부(420)는 그 노드로 하여금 데이터 트래픽의 제1 부분 및 제2 부분을 각각 제1 라우팅 경로 및 제2 라우팅 경로를 따라 전송하게 할 수 있다. 어떠한 경우든, 출발지 노드(예컨대, 클라이언트(110))로부터 유출되는 데이터 트래픽의 전송 레이트는 혼잡 상황이 발생한 후에도 감소되지 않을 수 있다.
한편, 소정의 실시예는 본 명세서에서 기술한 과정을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 이러한 컴퓨터 판독 가능 저장 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 그 컴퓨터 판독 가능 저장 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들일 수 있다. 컴퓨터 판독 가능 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 다른 실시예에 따르면, 본 명세서에서 기술한 과정을 실행하기 위한 컴퓨터 프로그램이 제공될 수 있다. 그러한 프로그램은 하드웨어와 결합하여 위 과정을 실행하기 위하여 컴퓨터 판독 가능 저장 매체와 같은 매체에 저장될 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
[부호의 설명]
110 : 클라이언트
120 : 서버
130 : 오버레이 네트워크 시스템
131 : 진입 노드
132, 133, 135, 136 : 바이패스 노드
134, 137 : 진출 노드
400: 전송 제어 장치
410: 인터페이스부
420: 제어부

Claims (21)

  1. 목적지 노드로의 데이터 트래픽의 전송을 제어하는 장치로서,
    상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하도록 구성되는 인터페이스부; 및
    상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하도록 구성되는 제어부를 포함하는
    전송 제어 장치.
  2. 청구항 1에 있어서,
    상기 정보는 상기 제1 라우팅 경로 내 링크 상에서 발생한 상기 혼잡 상황을 나타내는, 전송 제어 장치.
  3. 청구항 2에 있어서,
    상기 제어부는 상기 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 상기 제2 라우팅 경로를 선택하도록 구성되고, 상기 적어도 하나의 후보 라우팅 경로 각각은 미리 설정된 노드로부터 상기 목적지 노드까지 이어지고 상기 링크를 우회하는, 전송 제어 장치.
  4. 청구항 3에 있어서,
    상기 적어도 하나의 후보 라우팅 경로는 상기 미리 설정된 노드에서 상기 제1 라우팅 경로로부터 분기하고, 상기 제어부는 또한 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하도록 구성되는, 전송 제어 장치.
  5. 청구항 4에 있어서,
    상기 제어부는 또한 상기 정보에 기반하여 상기 제1 부분의 전송 레이트(transmission rate) 및 상기 제2 부분의 전송 레이트를 결정하도록 구성되는, 전송 제어 장치.
  6. 청구항 3에 있어서,
    상기 제어부는 또한 상기 제1 라우팅 경로 상의 복수의 노드 중에서 상기 제2 라우팅 경로가 상기 제1 라우팅 경로로부터 분기하는 노드를 식별하도록 구성되는, 전송 제어 장치.
  7. 청구항 6에 있어서,
    상기 제어부는 또한 상기 식별된 노드가 상기 미리 설정된 노드인 경우 상기 식별된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하도록 구성되는, 전송 제어 장치.
  8. 청구항 3에 있어서,
    상기 제2 라우팅 경로는 상기 적어도 하나의 후보 라우팅 경로 중 최소 코스트 경로(minimum cost path)인, 전송 제어 장치.
  9. 청구항 2에 있어서,
    상기 정보는 또한 상기 링크 상의 패킷 유실 레이트(packet loss rate) 및 상기 링크 상의 패킷 지연 중 적어도 하나를 나타내는, 전송 제어 장치.
  10. 청구항 1에 있어서,
    상기 혼잡 상황은 상기 제1 라우팅 경로 상의 중간 노드에서 감지되고, 상기 정보는 상기 중간 노드에서 유래하는, 전송 제어 장치.
  11. 목적지 노드로의 데이터 트래픽의 전송을 제어하는 방법으로서,
    상기 데이터 트래픽의 전송 중에 제1 라우팅 경로 상에서 발생한 혼잡 상황에 관한 정보를 획득하는 단계; 및
    상기 데이터 트래픽의 제1 부분 및 제2 부분을 각각 상기 제1 라우팅 경로 및 제2 라우팅 경로를 따라 상기 목적지 노드로 라우팅하기 위해 상기 정보에 기반하여 상기 제2 라우팅 경로를 선택하는 단계를 포함하는
    전송 제어 방법.
  12. 청구항 11에 있어서,
    상기 정보는 상기 제1 라우팅 경로 내 링크 상에서 발생한 상기 혼잡 상황을 나타내는, 전송 제어 방법.
  13. 청구항 12에 있어서,
    상기 제2 라우팅 경로를 선택하는 단계는 상기 정보에 기반하여 적어도 하나의 후보 라우팅 경로 중에서 상기 제2 라우팅 경로를 선택하는 단계를 포함하고, 상기 적어도 하나의 후보 라우팅 경로 각각은 미리 설정된 노드로부터 상기 목적지 노드까지 이어지고 상기 링크를 우회하는, 전송 제어 방법.
  14. 청구항 13에 있어서,
    상기 적어도 하나의 후보 라우팅 경로는 상기 미리 설정된 노드에서 상기 제1 라우팅 경로로부터 분기하고, 상기 전송 제어 방법은 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하는 단계를 더 포함하는, 전송 제어 방법.
  15. 청구항 14에 있어서,
    상기 정보에 기반하여 상기 제1 부분의 전송 레이트(transmission rate) 및 상기 제2 부분의 전송 레이트를 결정하는 단계를 더 포함하는, 전송 제어 방법.
  16. 청구항 13에 있어서,
    상기 제1 라우팅 경로 상의 복수의 노드 중에서 상기 제2 라우팅 경로가 상기 제1 라우팅 경로로부터 분기하는 노드를 식별하는 단계를 더 포함하는, 전송 제어 방법.
  17. 청구항 16에 있어서,
    상기 식별된 노드가 상기 미리 설정된 노드인 경우 상기 미리 설정된 노드로 하여금 상기 제1 부분 및 상기 제2 부분을 각각 상기 제1 라우팅 경로 및 상기 제2 라우팅 경로를 따라 전송하게 하는 단계를 더 포함하는, 전송 제어 방법.
  18. 청구항 13에 있어서,
    상기 제2 라우팅 경로는 상기 적어도 하나의 후보 라우팅 경로 중 최소 코스트 경로인, 전송 제어 방법.
  19. 청구항 12에 있어서,
    상기 정보는 또한 상기 링크 상의 패킷 유실 레이트 및 상기 링크 상의 패킷 지연 중 적어도 하나를 나타내는, 전송 제어 방법.
  20. 청구항 11에 있어서,
    상기 혼잡 상황은 상기 제1 라우팅 경로 상의 중간 노드에서 감지되고, 상기 정보는 상기 중간 노드에서 유래하는, 전송 제어 방법.
  21. 하드웨어와 결합되어, 청구항 11 내지 청구항 20 중 어느 한 항에 기재된 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
PCT/KR2014/010246 2014-08-12 2014-10-29 데이터 트래픽의 전송을 제어하는 장치 및 방법 WO2016024666A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0104182 2014-08-12
KR1020140104182A KR101630519B1 (ko) 2014-08-12 2014-08-12 데이터 트래픽의 전송을 제어하는 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2016024666A1 true WO2016024666A1 (ko) 2016-02-18

Family

ID=55302996

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/010246 WO2016024666A1 (ko) 2014-08-12 2014-10-29 데이터 트래픽의 전송을 제어하는 장치 및 방법

Country Status (4)

Country Link
US (1) US9712446B2 (ko)
KR (1) KR101630519B1 (ko)
CN (1) CN105634968B (ko)
WO (1) WO2016024666A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11252199B2 (en) 2015-07-15 2022-02-15 Oracle International Corporation Redirecting packets in an autonomous system
US10397283B2 (en) 2015-07-15 2019-08-27 Oracle International Corporation Using symmetric and asymmetric flow response paths from an autonomous system
CN108494699B (zh) * 2018-03-30 2021-10-19 山东师范大学 一种具有中心控制节点的网络拥塞控制方法
US10958569B2 (en) 2018-12-21 2021-03-23 Itron, Inc. Server-assisted routing in network communications
KR102557586B1 (ko) * 2020-07-17 2023-07-21 엘지전자 주식회사 무선 통신 시스템에서 iab 노드에 의한 흐름 제어 피드백을 기반으로 라우팅을 수행하기 위한 방법 및 장치
US11625349B1 (en) * 2021-11-18 2023-04-11 Arm Limited Apparatus and method for managing prefetch transactions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083194A1 (en) * 2000-11-04 2002-06-27 Bak Sang Man Routing method for traffic load distribution in packet-switched network
US20070201371A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Congestion adaptive network data routing
KR20120017972A (ko) * 2010-08-20 2012-02-29 한국전자통신연구원 무선 메쉬 네트워크에서 데이터 전송의 혼잡 상황을 통지/회피하는 방법 및 이를 위한 메쉬 노드
US20120224474A1 (en) * 2008-05-15 2012-09-06 Beser Nurettin Burcak Systems and methods for distributed data routing in a wireless network
WO2012165726A1 (ko) * 2011-06-02 2012-12-06 삼성테크윈 주식회사 메쉬 네트워크 노드 및 그의 데이터 전송 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754120A (en) * 1995-12-21 1998-05-19 Lucent Technologies Network congestion measurement method and apparatus
US7730201B1 (en) * 2000-04-13 2010-06-01 Alcatel-Lucent Canada, Inc. Method and apparatus for congestion avoidance in source routed signaling protocol communication networks
US8259584B2 (en) * 2008-03-18 2012-09-04 Cisco Technology, Inc. Dynamic reroute of network traffic
KR101217813B1 (ko) 2010-06-17 2013-01-02 금오공과대학교 산학협력단 무선 네트워크에서 데이터 전송의 우선순위 결정 방법
US8953440B2 (en) * 2011-11-15 2015-02-10 Telefonaktiebolaget L M Ericsson (Publ) Dynamic bandwidth adjustment in packet transport network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083194A1 (en) * 2000-11-04 2002-06-27 Bak Sang Man Routing method for traffic load distribution in packet-switched network
US20070201371A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Congestion adaptive network data routing
US20120224474A1 (en) * 2008-05-15 2012-09-06 Beser Nurettin Burcak Systems and methods for distributed data routing in a wireless network
KR20120017972A (ko) * 2010-08-20 2012-02-29 한국전자통신연구원 무선 메쉬 네트워크에서 데이터 전송의 혼잡 상황을 통지/회피하는 방법 및 이를 위한 메쉬 노드
WO2012165726A1 (ko) * 2011-06-02 2012-12-06 삼성테크윈 주식회사 메쉬 네트워크 노드 및 그의 데이터 전송 방법

Also Published As

Publication number Publication date
US20160050152A1 (en) 2016-02-18
KR101630519B1 (ko) 2016-06-24
US9712446B2 (en) 2017-07-18
CN105634968A (zh) 2016-06-01
KR20160019651A (ko) 2016-02-22
CN105634968B (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
WO2016024666A1 (ko) 데이터 트래픽의 전송을 제어하는 장치 및 방법
JP7327876B2 (ja) パケット転送経路を決定するための方法及びシステム、並びに、ネットワークノード
JP4280286B2 (ja) パケット通信ネットワーク及びパケット通信方法
WO2020256931A1 (en) In-line performance monitoring
JP4547340B2 (ja) トラフィック制御方式、装置及びシステム
US9210037B2 (en) Method, apparatus and system for interconnected ring protection
KR102455886B1 (ko) 서비스 기능 체이닝 혼잡 피드백
JP2006197473A (ja) ノード
WO2020055149A1 (ko) 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법
JP2011151490A (ja) 中継装置及び帯域制御方法
CN110892687B (zh) 多级资源预留
JP4244356B2 (ja) トラヒック分析・制御システム
JP2019510422A (ja) Sdnネットワークにおける迅速かつトポロジーに依存しない経路保護
JP5672385B2 (ja) 伝送システム、ルーティング制御装置および通信装置、並びにルーティング制御方法および通信方法
JP4867848B2 (ja) オーバレイトラヒック検出システム及びトラヒック監視・制御システム
JP4260848B2 (ja) ネットワーク制御方法
CN108092866B (zh) 一种隧道切换的方法、设备和系统
JP5445184B2 (ja) 通信装置、通信システム及び通信方法
JP2004201196A (ja) 遅延時間抑制伝送方法およびシステムおよび遅延時間抑制伝送用ルータ
EP1601139A1 (en) Method and apparatus for routing traffic through a communications network
KR101848428B1 (ko) 유선 통신기반의 보안 기능 향상을 위한 라우팅 방법 및 유선 통신기반의 보안 기능을 갖는 엔트리 라우터 시스템
WO2013055133A2 (ko) 공유 메쉬 보호 절체 방법
JP2008005257A (ja) 呼中継装置
US20100260053A1 (en) Procedures, systems, apparatuses, and computer programs for performance monitoring of a packet connection
JP4977677B2 (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: 14899818

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

Country of ref document: EP

Kind code of ref document: A1