WO2020055149A1 - Credit-based multipath data transmission method for load balancing of data center network - Google Patents

Credit-based multipath data transmission method for load balancing of data center network Download PDF

Info

Publication number
WO2020055149A1
WO2020055149A1 PCT/KR2019/011805 KR2019011805W WO2020055149A1 WO 2020055149 A1 WO2020055149 A1 WO 2020055149A1 KR 2019011805 W KR2019011805 W KR 2019011805W WO 2020055149 A1 WO2020055149 A1 WO 2020055149A1
Authority
WO
WIPO (PCT)
Prior art keywords
credit
packet
path
data
received
Prior art date
Application number
PCT/KR2019/011805
Other languages
French (fr)
Korean (ko)
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 WO2020055149A1 publication Critical patent/WO2020055149A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/39Credit based

Definitions

  • the present disclosure relates to a multipath transmission control protocol (MPTCP) -based multipath data transmission method, and more specifically, a credit packet-based multiplexing system capable of balancing load in a data center network requiring low latency and high throughput. It relates to a method and apparatus for transmitting and receiving route data.
  • MPTCP multipath transmission control protocol
  • the prior art MPTCP-based multi-path data transmission method is a method of transmitting data from the MPTCP-based multi-path, and when applied to a data center network, there is a limitation in meeting the short latency required by the data center network.
  • congestion control is possible when applied to a data center network by grasping the current network situation through the credit packet and transmitting only the amount of data that can be processed, but considering the overall network situation
  • congestion control is possible when applied to a data center network by grasping the current network situation through the credit packet and transmitting only the amount of data that can be processed, but considering the overall network situation
  • the present invention discloses a new method that can provide a shorter latency and higher throughput than a conventional data transmission method by using a credit packet to determine a multi-path bandwidth.
  • a credit-based multipath data transmission method for load balancing in a data center network comprising: transmitting a credit request packet to a receiving device; Determining, in response to the credit request packet, at least one first path from which the credit packet is received first among all paths capable of communicating with the receiving apparatus; And whenever a credit packet is received through the first path from the receiving device, transmitting a data packet to the receiving device through the first path in response to the credit packet-the credit packet and the first path received through the first path.
  • a method for transmitting a credit-based multipath data comprising transmitting a credit stop packet to a receiving device when there are no more residual data packets to be sent to the receiving device.
  • the credit packet received through at least one first path may be dropped.
  • the first response is made to the credit packet.
  • Data packets may be transmitted to a receiving device through a path.
  • the above-described credit-based multipath data transmission method includes: if the reception rate of a credit packet received on at least one first path is less than a threshold, transmitting a path reset packet to a receiving device; Determining, in response to the route reset packet, at least one second route from which the credit packet is received first among all routes capable of communicating with the receiving device; Whenever a credit packet is received through the second path from the receiving device, in response to the credit packet, transmitting a data packet to the receiving device through the second path-the credit packet and the second path received through the second path The data packets transmitted to the receiving device through one-to-one correspondence-; And when the remaining data packet to be transmitted to the receiving device no longer exists, transmitting the credit stop packet to the receiving device.
  • the credit request packet and the data packet may be transmitted to the receiving device together with identification information of the transmitting device and identification information of the receiving device.
  • the data center uses a fat-tree topology
  • the credit-based multipath data transmission method includes credit packets and a plurality of top layers of the fattree topology.
  • the method for receiving credit-based multipath data for load balancing in a data center network comprising: receiving a credit request packet from a transmitting device; In response to the credit request packet, transmitting the credit packet to a transmitting device at a predetermined rate for a predetermined time through all paths capable of communicating with the transmitting device; Receiving a data packet from at least one first path among all paths capable of communicating with the transmitting apparatus from the transmitting apparatus-The data packet received through the first path is the credit that has reached the transmitting apparatus through the first path One-to-one correspondence with packets-; Transmitting a credit packet at a predetermined speed only after at least one first path through which a data packet has been received among all paths capable of communicating with a transmitting device after a predetermined time has passed; And when receiving a credit stop packet from the transmitting device, there is provided a credit-based multipath data receiving method comprising the step of stopping the transmission of the credit packet.
  • the above-described method for receiving credit-based multipath data includes: receiving a route reset packet from a transmitting device; In response to the route reset packet, transmitting, to the transmitting device, the credit packet at a predetermined rate for a predetermined time through all the routes capable of communicating with the transmitting device; Receiving a data packet from at least one second path among all paths capable of communicating with the transmitting apparatus from a transmitting apparatus-The data packet received by the receiving apparatus via the second path is transmitted to the transmitting apparatus through the second path. One-to-one correspondence with the received credit packet-; And after a predetermined time has elapsed, transmitting the credit packet at a predetermined speed only through at least one second path among all paths capable of communicating with the transmitting device.
  • the credit packet may be transmitted to the transmitting device together with identification information of the receiving device and identification information of the transmitting device.
  • the data center uses a fat-tree topology
  • the credit-based multi-path data receiving method includes a plurality of top layers of the fat tree topology together with data packets.
  • the credit packet After a predetermined time, the credit packet , It can be transmitted at a predetermined speed only through a specified first path among all paths that can communicate with a transmission device.
  • a credit-based multipath data transmission apparatus for load balancing in a data center network, comprising: a communication unit transmitting a credit request packet to a receiving apparatus; And in response to the credit request packet, a control unit for determining at least one first path from which the credit packet is first received among all the paths that can communicate with the receiving device from the receiving device, the communication unit, Whenever a credit packet is received through 1 route, a data packet is transmitted to the receiving device through the first route in response to the credit packet-the credit packet received through the first route and the receiving device through the first route When the data packet is one-to-one correspondence-When there is no longer any remaining data packet to be transmitted to the receiving device, a credit stop packet may be sent to the receiving device.
  • credit packets received through at least one first path may be dropped.
  • the first response is made to the credit packet.
  • Data packets may be transmitted to a receiving device through a path.
  • the communication unit transmits a route reset packet to the receiving device when the reception rate of the credit packet received on at least one first route is less than a threshold, and the control unit transmits the route reset packet to the receiving device.
  • the at least one second route from which the credit packet is first received among all the routes that can communicate with the receiving device is determined, and the communication unit receives the credit packet through the second route from the receiving device.
  • a data packet is transmitted to a receiving device through a second path-a credit packet received through a second path and a data packet transmitted to a receiving device through a second path are one-to-one correspondence-, If there are no more residual data packets to send to the receiving device, the credit stopping packet may be sent to the receiving device.
  • the data center uses a fat-tree topology, and the communication unit, along with the credit packet, passes through a credit packet among a plurality of upper-layer switches in the fat-tree topology.
  • the control unit based on the identification information of the switch via the credit packet, specifies the first path via the credit packet among all the paths that can communicate with the receiving device, the data packet is specified It can be transmitted through the first path.
  • a credit-based multipath data receiving apparatus for load balancing in a data center network, receiving a credit request packet from a transmitting device, and responding to the credit request packet, transmitting device To, a credit packet is transmitted at a predetermined rate for a predetermined time through all paths capable of communicating with the transmitting device, and from the transmitting device, a data packet is transmitted through at least one first path among all paths capable of communicating with the transmitting device.
  • And-the data packet received through the first path is one-to-one correspondence with the credit packet reaching the transmitting device through the first path-, after a predetermined time, the data packet among all the paths that can communicate with the transmitting device
  • a communication unit transmitting a credit packet at a predetermined rate only through the received at least one first path;
  • a control unit for stopping the transmission of the credit packet when receiving the credit stop packet from the transmission device.
  • the communication unit receives a route reset packet from the transmitting device, and in response to the route reset packet, transmits to the transmitting device for a predetermined time through all routes capable of communicating with the transmitting device. Transmits a credit packet at a predetermined rate, and receives a data packet from at least one second path among all paths capable of communicating with the transmitting apparatus from the transmitting device-the data packet received through the second path is the second One-to-one correspondence with a credit packet reaching a transmitting device through a path, and after a predetermined time, a credit packet can be transmitted at a predetermined speed only through at least one second path among all paths capable of communicating with the transmitting device. have.
  • the data center uses a fat-tree topology, and the communication unit, along with the data packet, passes through a data packet among a plurality of upper-layer switches in the fat tree topology.
  • the control unit based on the identification information of the switch via the data packet, specifies the first path via the data packet among all the paths that can communicate with the transmission device, and a predetermined time Since then, the credit packet can be transmitted at a predetermined speed only through the first path specified among all paths that can communicate with the transmitting device.
  • the load that can be concentrated on some paths is prevented and congestion is prevented, thereby accelerating the end time of the data flow and further, at a service level, faster.
  • FIG. 1 is a conceptual diagram schematically showing a configuration of a data center according to an embodiment of the present invention.
  • FIG. 2 is a conceptual diagram schematically illustrating a method for transmitting and receiving credit-based multipath data according to an embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a method for transmitting credit-based multipath data according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method for receiving credit-based multipath data according to an embodiment of the present invention.
  • FIG. 5 is a block diagram illustrating a functional configuration of a host capable of operating as a credit-based multipath data transmission device or a credit-based multipath data reception device, according to an embodiment of the present invention.
  • 'module' or 'unit' means a functional part that performs at least one function or operation, and may be implemented by hardware or software, or a combination of hardware and software.
  • a plurality of 'modules' or 'parts' may be implemented by at least one processor by being integrated with at least one software module, except for 'modules' or 'parts' that need to be implemented with specific hardware. have.
  • FIG. 1 is a conceptual diagram schematically showing a configuration of a data center according to an embodiment of the present invention.
  • the data center 10 may include a plurality of hosts 200 and a plurality of switches (100, 110, 120).
  • Each of the plurality of hosts 200 may function as a credit-based multi-path data transmission device or a credit-based multi-path data reception device, and the plurality of switches 100, 110, and 120 may include a plurality of hosts in the data center 10.
  • a multipath for communication between the 200 may be generated.
  • the data center 10 may configure a multi-path using a multi-tier or multi-stage topology such as a fat-tree topology.
  • a multi-tier or multi-stage topology such as a fat-tree topology.
  • the fat tree topology is also referred to as a 3-tier topology, and as shown in FIG. 1, the data center 10 is shown using a fat tree topology, but the data center 10 has various multi-tier topologies in addition to the fat tree topology, or It is apparent to those skilled in the art that other types of topologies can be used.
  • the data center 10 using a multi-tier topology includes a switch 100 at a top layer called a core, a switch 110 at a middle layer called aggregation, spine, and the like, and It may include a switch 120 of the lowest layer called an edge, a leaf, or the like. It is apparent to those skilled in the art that the switch 100 of the upper layer, the switch 110 of the middle layer, and the switch 120 of the lower layer may be variously named in addition to the above-described names.
  • any one transmission device among the plurality of hosts 200 and one reception device among the plurality of hosts 200 are as many as the number of switches 100 of the highest layer. You can have parallel communication paths.
  • any path between the transmitting device and the receiving device can be specified by a switch via the switch 100 of the top layer. That is, the path of data transmitted in the data center 10 includes identification information of a transmitting device (for example, a source IP (internet protocol) address), identification information of a receiving device (for example, a destination) (destination) IP address), and identification information (for example, the IP address of the switch) via the switch among the switches 100 of the highest layer.
  • a transmitting device for example, a source IP (internet protocol) address
  • identification information of a receiving device for example, a destination) (destination) IP address
  • identification information for example, the IP address of the switch
  • the switch 100 of the top layer corresponds to a total of four, four paths for the plurality of switches 100, 110, and 120 to communicate with each other may exist.
  • the communication path between the first host 210 and the second host 220 is a path through the switch 101 of the first highest layer (ie, the switch 121 of the first lowest layer, the second 1 middle layer switch 111, first top layer switch 101, third middle layer switch 113, second bottom layer switch 122 path), second top layer switch ( Route (that is, the first lower layer switch 121, the second intermediate layer switch 11, the second upper layer switch 102, the third intermediate layer switch 113, the second) 2, the path through the switch 103 of the lowest layer, the path through the switch 103 of the third highest layer (ie, the switch 121 of the first lower layer, the switch 112 of the second intermediate layer, the second Via the top 103 switch 103, the fourth middle layer switch 114, the second bottom layer switch 122 sequence), and the fourth top layer switch 104.
  • Path i.e
  • FIG. 2 is a conceptual diagram schematically illustrating a method for transmitting and receiving credit-based multipath data according to an embodiment of the present invention.
  • the communication path between the first host 210 and the second host 220 is a switch 101 of the first top layer
  • a total of four routes may be included, from a route via a route to a route through a switch 104 of the fourth highest layer.
  • the plurality of switches 100, 110 and 120 in the data center 10 may include a lossy buffer allocated to a credit packet. Accordingly, when a predetermined amount of credit packets is transmitted through an arbitrary path, each time through each of the plurality of switches 100, 110 and 120 in the data center 10, the loss buffer of the corresponding switch is filled Therefore, a part of the transmitted credit packet may be dropped. Therefore, a host that receives a credit packet through an arbitrary path in the data center 10 can check the congestion status of the corresponding path based on the amount and speed of the received credit packet, and according to the congestion status of each path It is possible to select an optimal path for transmitting a data packet among all paths in which communication is possible.
  • the first host 210 serving as a credit-based multipath data transmission device wants to transmit a data packet to the second host 220 as a credit-based multipath data reception device
  • the first host 210 May transmit a credit request packet to the second host 220.
  • the second host 220 responds to the credit request packet, and routes the first host 210 through the switch 101 of the first top layer, the route through the switch 102 of the second top layer, and the second host 220.
  • a predetermined time (t) through all the paths that can communicate with the first host 210, including the path through the switch 103 of the top layer and the switch 104 through the switch 104 of the top layer ),
  • the credit packet can be transmitted at a predetermined rate (v).
  • the plurality of switches 100, 110, and 120 in the data center 10 may include a loss buffer allocated to a credit packet, the congestion state of each of the plurality of switches 100, 110, 120 Accordingly, the amount of credit packets dropped and the transmission speed of credit packets may be different in all paths in which communication is possible between the first host 210 and the second host 220.
  • the first host 210 may select k routes (where k is an integer greater than or equal to 1) that the credit packet has reached first among all routes that can communicate with the second host. As described above, since the speed of the credit packet reflects the congestion state of the corresponding path, the congestion degree of the path in which the credit packet first reaches the first host 210 may be the lowest, so the first host 210 May select the k paths in the order in which the credit packets arrive first, to determine an optimal path for communicating with the second host 220. For example, k is 2, the path through the switch 101 of the first top layer, the path through the switch 102 of the second top layer, and the path through the switch 103 of the third top layer.
  • the first host 210 receives the path through the switch 101 of the first highest layer and the second highest layer.
  • the path through the switch 102 may be determined as an optimal path for transmitting data packets.
  • the first host 210 may transmit one data packet whenever one credit packet is received on any one of the k paths that the credit packet first reached. That is, a credit packet received on k paths and a data packet transmitted on k paths may be mapped one-to-one. In this way, the first host 210 may transmit a data packet having a bandwidth that can be accommodated by any one of the k paths to the second host 220 through the corresponding path.
  • the order in which credit packets arrive at the first host 210 is determined by the amount of data transmitted to the second host 220. Can be irrelevant. That is, in the above-described example, even if the credit packet reaches the first host 210 through the path through the switch 101 of the first top layer rather than the path through the switch 102 of the second top layer, Since the credit packet and the data packet have a one-to-one correspondence, a larger amount of data packets are transmitted in the path through the switch 102 of the second top layer than the path through the switch 101 of the first top layer. You can.
  • the first host 210 immediately delivers a data packet to the second host 220 whenever a credit packet is received, while any one of the k paths has a bandwidth of an acceptable data packet.
  • the second host 220 To the second host 220 through the corresponding path, it is possible to achieve load balancing of all paths capable of communication between the first host 210 and the second host 220 in the data center 10.
  • the second host 220 After the time t, the second host 220 transmits a credit packet at v rate only through k paths through which data packets are received, so that communication between the first host 210 and the second host 220 is possible. Among all paths, it is possible to reduce the load of paths not used for data packet transmission and stop unnecessary communication.
  • the second host 220 when the data packet is received only on the path through the switch 101 of the first top layer and the path through the switch 102 of the second top layer, the second host 220 is t time Thereafter, the credit packet is transmitted only through the path through the switch 101 of the first top layer and the path through the switch 102 of the second top layer, and the path through the switch 103 of the third top layer. And it is possible to stop the transmission of the credit packet on the path via the switch 104 of the fourth highest layer.
  • the first host 210 transmits a data packet each time a credit packet is received on k paths until there are no more residual data packets delivered, and if there are no more residual data packets delivered, the second host 210
  • the credit stop packet may be transmitted to the host 220 to terminate the credit-based multipath data transmission procedure.
  • the second host 220 may stop the credit packet transmission and end the credit-based multipath data reception procedure.
  • FIG. 3 is a flowchart illustrating a method for transmitting credit-based multipath data according to an embodiment of the present invention.
  • step S310 the credit-based multipath data transmission device 210, before transmitting the data packet for the first time, in order to select the optimal data communication path among the paths that can communicate with the credit-based multipath data receiving device 220, A credit request packet may be transmitted to the credit-based multipath data receiving device 220.
  • the credit-based multipath data transmission apparatus 210 may transmit a credit request packet through any path among all paths capable of communicating with the credit-based multipath data reception apparatus 220.
  • the credit-based multi-path data transmission device 210 is based on the history of communication with the credit-based multi-path data receiving device 220, the most recently communicated with the credit-based multi-path data receiving device 220 Credit request packet can be transmitted through.
  • the credit-based multipath data transmission device 210 may transmit a credit request packet through all paths capable of communicating with the credit-based multipath data reception device 220.
  • the transmission speed of the credit request packet for each of all the paths that can communicate with the credit-based multipath data receiving apparatus 220 may be different. Accordingly, the credit-based multipath data transmission device 210 transmits the credit request packet to the credit-based multipath data reception device 220 as quickly as possible by using any path capable of communicating with the credit-based multipath data reception device 220. You can.
  • the credit-based multipath data transmission device 210 sends the credit request packet to the credit-based multipath data reception device 220, the identification information of the credit-based multipath data transmission device 210 (for example, the source IP address) and the identification information (eg, destination IP address) of the credit-based multipath data receiving device 220 may be transmitted.
  • the credit-based multipath data receiving device 220 may specify a target for requesting a credit packet based on identification information of at least the credit-based multipath data transmission device 210 transmitted together with the credit request packet, and the data center.
  • a plurality of switches (100, 110, 120) in (10) is the identification information of the credit-based multi-path data transmission device 210 and the credit-based multi-path data receiving device 220 transmitted with the credit request packet. Based on this, the next destination to which the credit request packet will be transmitted can be specified.
  • step S320 the credit-based multi-path data transmission device 210, in response to the credit request packet, through the credit-based multi-path data receiving device 220 and all possible communication, credit-based multi-path data receiving device Credit packets may be received from 220. If one of the paths between the credit-based multipath data transmission device 210 and the credit-based multipath data reception device 220 is currently unable to accommodate any more data packets, a plurality of paths included in the corresponding path All the credit packets are dropped in the switches 100, 110, and 120, so that the credit packets may not reach the credit-based multipath data transmission device 210 through the corresponding path.
  • the credit-based multipath data transmission device 210 includes credit packets and identification information (eg, a destination IP address) of the credit-based multipath data transmission device 210 and credit. Identification information (eg, a source IP address) of the base multipath data receiving apparatus 220 may be received.
  • the credit-based multipath data transmission device 210 may specify a target for transmitting the credit packet, based on at least identification information of the credit-based multipath data reception device 220 transmitted together with the credit packet, A plurality of switches (100, 110, 120) in the data center (10) is at least the identification information of the credit-based multipath data receiving device 220 transmitted with the credit packet and the identification of the credit-based multipath data transmission device (210) Based on the information, it is possible to specify the next destination to which the credit packet will be sent.
  • step S330 the credit-based multipath data transmission apparatus 210 needs to select at least one optimal path among all paths capable of communicating with the credit-based multipath data reception apparatus 220, or selects an already selected path in step S380. In step, it may be determined whether it is necessary to reset according to conditions to be described later. For example, before the credit-based multipath data transmission device 210 first transmits a data packet to the credit-based multipath data reception device 220, an optimal communication path with the credit-based multipath data reception device 220 If not yet selected, may proceed to step S340.
  • step S340 the credit-based multipath data transmission device 210 is credited among all routes that can communicate with the credit-based multipath data receiving device 220. At least one first path may be selected in the order in which packets arrive first. Since the path in which the credit packet first arrives has the lowest congestion rate and the probability that the data packet is delivered fastest, the credit-based multipath data transmission device 210 may transmit at least one first path in the order in which the credit packets arrive first. You can choose
  • the credit-based multi-path data transmission device 210 along with the credit packet, passes through the credit packet from the switch 100 of the top layer of the data center 10 using the fattree topology.
  • Switch identification information for example, the IP address of the switch
  • one path between the credit-based multipath data transmission device 210 and the credit-based multipath data reception device 220 in the data center 10 using the fattree topology is a switch 100 of the highest layer.
  • the credit-based multipath data transmission device 210 can communicate with the credit-based multipath data reception device 220 based on the identification information of the switch of the highest layer received along with the credit packet that arrives first.
  • a path through which the first received credit packet is transmitted may be specified, and the specified path may be selected as the first path.
  • the credit-based multi-path data transmission device 210 is a credit-based multi-path data receiving device through the first path in response to the credit packet whenever a credit packet is received through the selected at least one first path ( 220).
  • a credit packet that reaches the credit-based multipath data transmission device 210 through any one path, data transmitted to the credit-based multipath data reception device 220 through the corresponding path Packets can be mapped one-to-one.
  • the credit packet that has reached the credit-based multipath data transmission device 210 through any one route is a switch included in the corresponding route among a predetermined amount of credit packets transmitted by the credit-based multipath data reception device 210. It may be a credit packet that has been successfully transmitted to the credit-based multipath data transmission device 210 through a corresponding path, except for the dropped credit packets according to the congestion state of the.
  • the credit-based multipath data transmission device 210 may transmit a data packet through a corresponding route as soon as a credit packet is received in any one of the at least one first route. In this way, data packets with an acceptable bandwidth for each route are immediately delivered, and load of all routes capable of communication between the credit-based multipath data transmission device 210 and the credit-based multipath data reception device 220 is transmitted. Balance can be achieved.
  • the credit-based multipath data transmission device 210 is capable of communicating with the credit-based multipath data reception device 220 based on identification information of the highest-level switch received with the credit packet.
  • a first path through the corresponding credit packet may be specified, and a data packet may be transmitted through the specified first path.
  • step S360 the credit-based multipath data transmission device 210 may determine whether there is a residual data packet to be transmitted.
  • the credit-based multipath data transmission apparatus 210 may determine whether the reception rate of the credit packet received on at least one first path selected in step S340 is greater than or equal to a threshold. have.
  • the reception rate of a credit packet may correspond to a credit packet reception amount or a credit packet reception rate.
  • the credit-based multi-path data transmission device 210 may monitor the amount of credit packets received on at least one first path selected every predetermined period to measure credit packet reception amount or credit packet reception speed. .
  • step S370 when the reception rate of the credit packet received on at least one first path is greater than or equal to a threshold, in step S320, the credit-based multipath data transmission device 210, the previously selected at least one first Through the route, the credit packet can be continuously received from the credit-based multipath data receiving device 220.
  • step S330 the credit-based multipath data transmission apparatus 210 is an optimal path for transmitting the residual data packet. It is determined that there is no need to reset, and step S340 may be omitted.
  • the credit packet reaching the credit-based multipath data transmission device 210 and the data packet transmitted to the credit-based multipath data reception device 220 may correspond to a one-to-one correspondence relationship. Accordingly, the credit-based multi-path data transmission device 210 does not re-discover the optimal route, but checks the congested state of the first route through the newly received credit packet periodically on the previously selected first route. Then, the remaining data packets can be allocated on the first path accordingly.
  • the credit-based multipath data transmission device 210 may initiate a procedure for resetting the optimal route. Specifically, in step S380, the credit-based multipath data transmission device 210 may transmit a route reset packet to the credit-based multipath data reception device 220.
  • the credit-based multipath data transmission apparatus 210 may transmit a route reset packet through any path among all paths capable of communicating with the credit-based multipath data reception apparatus 220.
  • the credit-based multipath data transmission device 210 may transmit a route reset packet through a route via the most recently received credit packet among at least one first route previously selected. Since the path through the most recently received credit packet may correspond to the path with the lowest current congestion, the path reset packet may be delivered to the credit-based multipath data receiving device 220 at the earliest when using the path. .
  • the credit-based multipath data transmission device 210 may transmit a route reset packet through all paths capable of communicating with the credit-based multipath data reception device 220.
  • the transmission speed of the route reset packet for each of all routes capable of communicating with the credit-based multipath data receiving device 220 may be different. Accordingly, the credit-based multipath data transmission device 210 transmits the route reset packet to the credit-based multipath data reception device 220 as quickly as possible using all routes that can communicate with the credit-based multipath data reception device 220. You can.
  • the credit-based multipath data transmission device 210 transmits a route reset packet to the credit-based multipath data reception device 220, the identification information of the credit-based multipath data transmission device 210 (for example, the source IP address) and the identification information (eg, destination IP address) of the credit-based multipath data receiving device 220 may be transmitted.
  • the credit-based multipath data receiving apparatus 220 may specify a target for requesting a path reset based on at least identification information of the credit-based multipath data transmission apparatus 210 transmitted with the path reset packet, and the data center.
  • a plurality of switches (100, 110, 120) in (10) is the identification information of the credit-based multi-path data transmission device 210 and the credit-based multi-path data receiving device 220 transmitted with the route reset packet. Based on this, it is possible to specify the next destination to which the redirection packet is to be transmitted.
  • step S320 the credit-based multipath data transmission device 210, in response to the route reset packet, from the credit-based multipath data reception device 220, the credit-based multipath data transmission device 210 and credit A credit packet for rerouting may be received through all routes capable of communication between the base multipath data receiving devices 220.
  • step S330 the credit-based multipath data transmission device 210 determines that it is necessary to reset the route, and in step S340, among all the routes capable of communicating with the credit-based multipath data receiving device 220. At least one second path may be selected in the order in which the credit packets arrive first. Thereafter, in step S350, the credit-based multipath data transmission device 210 receives credit-based multipath data through the second path in response to the credit packet whenever a credit packet is received through at least one selected second path. A data packet can be transmitted to the device 220.
  • the credit-based multipath data transmission apparatus 210 may use other criteria in addition to the reception rate of the credit packet, in order to initiate a procedure for resetting the optimal path. For example, the credit-based multipath data transmission device 210 resets the optimal path when no credit packet is received for a predetermined time in any one of the at least one first path previously selected. Initiating the procedure, in step S380, the route reset packet may be transmitted to the credit-based multipath data receiving device 220.
  • step S360 when there is no longer a residual data packet to be transmitted, the credit-based multipath data transmission device 210 credit stop packet to the credit-based multipath data reception device 220 By transmitting, it is possible to end the data packet transmission procedure and the credit packet reception procedure.
  • the credit-based multipath data transmission apparatus 210 may transmit a credit stop packet through any path among all paths capable of communicating with the credit-based multipath data reception apparatus 220.
  • the credit-based multipath data transmission device 210 may transmit a credit stop packet through a path through the most recently received credit packet. Since the path through the most recently received credit packet may correspond to the path with the lowest current congestion, the credit stop packet may be delivered to the credit-based multipath data receiving device 220 at the earliest when using the path. .
  • the credit-based multipath data transmission device 210 transmits a credit stop packet through all paths capable of communicating with the credit-based multipath data reception device 220 to credit the credit stop packet. Based on the multi-path data receiving device 220 can be delivered as soon as possible.
  • the credit-based multipath data transmission device 210 transmits a credit stop packet to the credit-based multipath data reception device 220, the identification information of the credit-based multipath data transmission device 210 (for example, the source IP address) and the identification information (eg, destination IP address) of the credit-based multipath data receiving device 220 may be transmitted.
  • the credit-based multi-path data receiving device 220 may specify an object to end communication based on at least identification information of the credit-based multi-path data transmission device 210 transmitted with the credit stop packet, and the data center.
  • a plurality of switches (100, 110, 120) in (10) is the identification information of the credit-based multi-path data transmission device 210 and the credit-based multi-path data receiving device 220 transmitted with the credit stop packet. Based on this, the next destination to which the credit suspension packet is to be transmitted can be specified.
  • the credit-based multipath data transmission apparatus 210 may drop and ignore the credit packet received through at least one first path. .
  • FIG. 4 is a flowchart illustrating a method for receiving credit-based multipath data according to an embodiment of the present invention.
  • step S410 the credit-based multipath data receiving device 220 receives the credit request packet from the credit-based multipath data transmission device 210 before first receiving the data packet from the credit-based multipath data transmission device 210. I can receive it.
  • the credit-based multipath data receiving device 220 identifies information of the credit-based multipath data transmission device 210 together with a credit request packet from the credit-based multipath data transmission device 210. (For example, a source IP address) and identification information (eg, a destination IP address) of the credit-based multipath data receiving device 220 may be received. Accordingly, the credit-based multipath data receiving device 220 may specify a target for requesting a credit packet based on at least identification information of the credit-based multipath data transmission device 210 transmitted together with the credit request packet.
  • step S420 the credit-based multipath data receiving device 220, in response to the credit request packet received in step S410, between the credit-based multipath data receiving device 220 and the credit-based multipath data transmission device 210
  • the credit packet can be transmitted at a predetermined rate for a predetermined time through all paths capable of communication.
  • the congestion status for each path is different, even if the credit-based multipath data receiving apparatus 220 transmits the same speed and the same amount of credit packets through all paths, the credit-based multipath data transmission apparatus for each path
  • the rate and amount of credit packets reaching 220 may be different.
  • the credit-based multipath data receiving device 220 includes identification information (eg, a destination IP address) and credit of the credit-based multipath data transmission device 210 together with a credit packet. Based on the identification information (for example, source IP address) of the multi-path data receiving device 220 and the switch 100 of the top layer switch 100 of the data center 10 using the fattree topology, the switch through which the credit packet passes. It can transmit the identification information (for example, the IP address of the switch). Accordingly, the credit-based multipath data transmission device 210 transmits a credit packet based on at least the identification information of the credit-based multipath data reception device 220 transmitted with the credit packet and the identification information of the switch of the highest layer.
  • identification information for example, source IP address
  • a destination and a route through which the corresponding credit packet can be specified may be specified, and the plurality of switches 100, 110, and 120 in the data center 10 may include at least a credit-based multipath data receiving device 220 transmitted with a credit packet Based on the identification information of and the identification information of the credit-based multi-path data transmission device 210, it is possible to specify the next destination to which the credit packet is to be transmitted.
  • the credit-based multipath data receiving apparatus 220 may receive a data packet through at least one first path among all paths capable of communicating with the credit-based multipath data transmission apparatus 210.
  • step S460 the credit-based multipath data reception device 220 After a predetermined time has passed, the credit packet can be transmitted at a predetermined speed only through at least one first path through which the data packet was received in step S430 among all paths capable of communicating with the credit-based multipath data transmission device 210. have. In this manner, the credit-based multi-path data receiving device 220 may continuously inform the credit-based multi-path data receiving device 220 of the current congestion state of at least one first path that has been previously selected.
  • the credit-based multipath data receiving device 220 includes, along with data packets, identification information (eg, a source IP address) of the credit-based multipath data transmission device 210, credit-based Identification information (for example, a destination IP address) of the multi-path data receiving device 220, and a switch through which the corresponding data packet is transmitted among the switches 100 of the top layer of the data center 10 using the fat tree topology It can receive the identification information (for example, the IP address of the switch). Accordingly, the credit-based multipath data transmission apparatus 210 transmits a data packet based on at least the identification information of the credit-based multipath data reception apparatus 220 transmitted with the data packet and the identification information of the switch of the highest layer.
  • identification information eg, a source IP address
  • credit-based Identification information for example, a destination IP address
  • the credit-based multipath data transmission apparatus 210 transmits a data packet based on at least the identification information of the credit-based multipath data reception apparatus 220 transmitted with the data packet and the identification information of the
  • the credit-based multipath data transmission apparatus 210 may select the specified path as the first path, and transmit a credit packet at a predetermined rate only through the specified first path after a predetermined time has elapsed.
  • the plurality of switches (100, 110, 120) in the data center 10 is at least the identification information of the credit-based multipath data receiving device 220 transmitted with the data packet and the credit-based multipath data transmission device 210 ), The next destination to which the data packet is to be transmitted can be specified.
  • step S460 if the number of first paths in which a data packet is received in step S430 is a threshold value, in step S460, the credit-based multipath data receiving device 220, before a predetermined time passes Even, the credit packet can be transmitted at a predetermined speed only through the first path among all paths that can communicate with the credit-based multipath data transmission device 210.
  • the credit-based multipath data receiving device 220 may not cause unnecessary load in the data center 10 by transmitting a credit packet only on a first path used for communication, even if a predetermined period has not passed.
  • the credit-based multipath data receiving apparatus 220 may receive a data packet from the credit-based multipath data transmission apparatus 210 through the first selected path in step S430.
  • step S440 when the credit-based multipath data receiving device 220 receives a route reset packet from the credit-based multipath data transmission device 210, it is optimal for communicating with the credit-based multipath data transmission device 210.
  • a procedure for rerouting may be initiated.
  • the credit-based multipath data receiving device 220 identifies the credit-based multipath data transmission device 210 from the credit-based multipath data transmission device 210 together with a route reset packet.
  • Information eg, a source IP address
  • identification information eg, a destination IP address
  • the credit-based multipath data receiving apparatus 220 may specify a target for requesting a path reset based on at least identification information of the credit-based multipath data transmission apparatus 210 received together with the path reset packet.
  • the credit-based multipath data receiving device 220 is capable of communicating between the credit-based multipath data transmitting device 210 and the credit-based multipath data receiving device 220 in response to the route reset packet. It is possible to transmit a credit packet for rerouting at a predetermined speed for a predetermined time over all routes.
  • the credit-based multipath data receiving apparatus 220 may receive a data packet through at least one second path among all paths capable of communicating with the credit-based multipath data transmission apparatus 210. .
  • the credit-based multi-path data receiving device 220 after a predetermined time, at least one data packet received in step S430 among all the paths that can communicate with the credit-based multi-path data transmission device 210 Only through the second path, the credit packet can be transmitted at a predetermined speed.
  • the credit-based multipath data transmission apparatus 210 receives a credit stop packet from the credit-based multipath data reception apparatus 220, and receives a credit packet transmission procedure and a data packet The procedure can be terminated.
  • the credit-based multipath data receiving device 220 identifies the credit-based multipath data transmission device 210 together with a credit suspension packet from the credit-based multipath data transmission device 210.
  • Information eg, a source IP address
  • identification information eg, a destination IP address
  • the credit-based multipath data receiving device 220 may specify an object to end communication based on at least identification information of the credit-based multipath data transmission device 210 transmitted with the credit stop packet.
  • FIG. 5 is a block diagram illustrating a functional configuration of a host capable of operating as a credit-based multipath data transmission device or a credit-based multipath data reception device, according to an embodiment of the present invention.
  • the host 500 may include a communication unit 510, a control unit 520, and a memory 530.
  • Each of the plurality of hosts 200 described above with reference to FIGS. 1 to 4 may include the same functional configuration as the host 500 illustrated in FIG. 5.
  • the host 500 when a data packet to be transmitted exists, the host 500 may function as a credit-based multipath data transmission device 210, and when there is no data packet to be transmitted, the host 500 ) Can only function as a credit-based multipath data receiving device 220.
  • the communication unit 510 may communicate with other hosts in the data center 10 and a plurality of switches 100, 110, and 120 according to a predetermined protocol.
  • the communication unit 510 may communicate with other hosts and switches in the data center 10 through a network implemented in a LAN network or the like.
  • the communication unit 510 communicates with another host 500 through a multipath formed by a plurality of switches 100, 110, and 120, a data packet, a credit packet, a credit request packet, and a route reset packet. The same information can be transmitted and received.
  • the control unit 520 typically controls the overall operation of the host 500.
  • the host 500 may be a central processor that controls the communication unit 510 as a whole by executing programs stored in the memory 530.
  • control unit 520 according to the functional configuration, the credit request packet generation unit 522, the credit packet generation unit 524, the path selection unit 526, and the data packet generation unit 528 ).
  • the credit request packet generator 522 may be activated when the host 500 functions as a credit-based multipath data transmission device 210, and generates a credit request packet before first transmitting the data packet to another host. When a procedure for reestablishing an optimal route to another host is initiated, a route reset packet may be generated. The credit request packet generator 522 may allocate the generated credit request packet or route reset packet to any path among the multipaths according to the method described above with reference to FIG. 3.
  • the credit packet generator 524 may be activated when the host 500 functions as the credit-based multipath data receiving device 220, and may generate a credit packet in response to the credit request packet.
  • the credit packet generation unit 524 may allocate the generated credit packet to all paths that can communicate with other hosts, or only on the path through which the data packet is received, according to the method described above with reference to FIG. 4.
  • the route selector 526 may be activated when the host 500 functions as a credit-based multipath data transmission device 210, and may communicate with other hosts based on the credit packets received from the communication unit 510. The congestion status of all paths can be compared, and at least one optimal path for transmitting data packets can be selected.
  • the data packet generation unit 528 generates a data packet to be transmitted, and allocates to the data packet corresponding path whenever a credit packet is received on the optimal path through at least one optimal path selected by the path selection unit 526. can do.
  • the memory 530 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Pro grammable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic It may include a storage medium of at least one type of disk, optical disk. According to an embodiment of the present invention, the memory 530 stores information such as data packets, credit packets, and credit request packets generated for transmission to other hosts in the data center 10, or in the data center 10. It can store information such as data packets, credit packets, credit request packets, and route reset packets received from other hosts.
  • a computer program includes a storage medium readable by a computer processor or the like, such as EPROM, EEPROM, non-volatile memory such as a flash memory device, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and It may be implemented in a form stored in various types of storage media, including CDROM disks. Also, the program code (s) can be implemented in assembly or machine language. All modifications and changes belonging to the true spirit and scope of the present disclosure are intended to be covered by the following claims.

Abstract

Provided is a credit-based multipath data transmission method for load balancing of a data center network, the method comprising the steps of: transmitting a credit request packet to a receiver device; in response to the credit request packet, determining at least one first path along which credit packets can be received earliest from the receiver device, among all the communicable paths to the receiver device; each time that a credit packet is received through the first path from the receiver device, transmitting a data packet to the receiver device through the first path in response to the credit packet, wherein the credit packets received through the first path are in one-to-one correspondence with the data packets transmitted to the receiver device through the first path; and when there are no more data packets left to transmit to the receiver device, transmitting a credit stop packet to the receiver device.

Description

데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법 Credit-based multipath data transmission method for load balancing of data center networks
본 개시는, MPTCP(Multipath Transmission Control Protocol) 기반 다중경로 데이터 전송 방법에 관한 것으로, 보다 구체적으로, 짧은 대기시간과 높은 처리량을 요구하는 데이터센터 네트워크에서의 부하 균형을 이룰 수 있는, 신용 패킷 기반 다중경로 데이터 송수신 방법 및 장치에 관한 것이다.The present disclosure relates to a multipath transmission control protocol (MPTCP) -based multipath data transmission method, and more specifically, a credit packet-based multiplexing system capable of balancing load in a data center network requiring low latency and high throughput. It relates to a method and apparatus for transmitting and receiving route data.
종래 기술인 MPTCP 기반 다중 경로 데이터 전송 방법은, MPTCP 기반에서 다중 경로로 데이터를 전송하는 방법으로 데이터 센터 네트워크에 적용 시 데이터센터 네트워크에서 요구하는 짧은 대기시간을 충족시키는데 한계가 있다.The prior art MPTCP-based multi-path data transmission method is a method of transmitting data from the MPTCP-based multi-path, and when applied to a data center network, there is a limitation in meeting the short latency required by the data center network.
또 다른 종래 기술인 신용 패킷 기반 데이터 전송 방법의 경우, 신용 패킷을 통해서 현재 네트워크 상황을 파악하고 처리 가능한 데이터양만큼만 전송하는 방법으로 데이터센터 네트워크에 적용 시 혼잡 제어를 가능하게 하지만, 전체 네트워크 상황을 고려하는데 한계가 있어 높은 처리량을 충족시키지 못한다는 문제점이 있다.In the case of another prior art credit packet-based data transmission method, congestion control is possible when applied to a data center network by grasping the current network situation through the credit packet and transmitting only the amount of data that can be processed, but considering the overall network situation However, there is a problem in that it does not satisfy high throughput due to limitations.
본 발명은 신용 패킷을 다중 경로의 대역폭을 판단하는 데에 사용함으로써, 기존 데이터 전송 방법에 비해 더 짧은 대기시간과 더 높은 처리량을 제공할 수 있는 새로운 방법을 개시한다.The present invention discloses a new method that can provide a shorter latency and higher throughput than a conventional data transmission method by using a credit packet to determine a multi-path bandwidth.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법으로서, 수신 장치에게 신용 요청 패킷을 전송하는 단계; 신용 요청 패킷에 대한 응답으로, 수신 장치로부터, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제1 경로를 결정하는 단계; 및 수신 장치로부터 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 수신 장치에게 데이터 패킷을 전송하는 단계 - 제1 경로를 통해 수신한 신용 패킷과 제1 경로를 통해 수신 장치에게 전송된 데이터 패킷은 일대일 대응됨 -; 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 수신 장치에게 신용 중지 패킷을 전송하는 단계를 포함하는, 신용 기반 다중경로 데이터 전송 방법이 제공된다.As a technical means for achieving the above-described technical problem, a credit-based multipath data transmission method for load balancing in a data center network, comprising: transmitting a credit request packet to a receiving device; Determining, in response to the credit request packet, at least one first path from which the credit packet is received first among all paths capable of communicating with the receiving apparatus; And whenever a credit packet is received through the first path from the receiving device, transmitting a data packet to the receiving device through the first path in response to the credit packet-the credit packet and the first path received through the first path. The data packets transmitted to the receiving device via one-to-one correspondence-; A method for transmitting a credit-based multipath data is provided, comprising transmitting a credit stop packet to a receiving device when there are no more residual data packets to be sent to the receiving device.
상술한 신용 기반 다중경로 데이터 전송 방법에서, 전송할 잔여 데이터 패킷이 존재하지 않는 경우, 적어도 하나의 제1 경로를 통해 수신되는 신용패킷은 드랍될 수 있다.In the above-described credit-based multipath data transmission method, when there is no residual data packet to be transmitted, the credit packet received through at least one first path may be dropped.
상술한 신용 기반 다중경로 데이터 전송 방법에서, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상이면, 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 수신 장치에게 데이터 패킷이 전송될 수 있다.In the above-described credit-based multipath data transmission method, if the reception rate of a credit packet received on at least one first path is greater than or equal to a threshold, whenever a credit packet is received through the first path, the first response is made to the credit packet. Data packets may be transmitted to a receiving device through a path.
상술한 신용 기반 다중경로 데이터 전송 방법은, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 수신 장치에게 경로 재설정 패킷을 전송하는 단계; 경로 재설정 패킷에 대한 응답으로, 수신 장치로부터, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제2 경로를 결정하는 단계; 수신 장치로부터 제2 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제2 경로를 통해 수신 장치에게 데이터 패킷을 전송하는 단계 - 제2 경로를 통해 수신한 신용 패킷과 제2 경로를 통해 수신 장치에게 전송된 데이터 패킷은 일대일 대응됨 -; 및 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 수신 장치에게 신용 중지 패킷을 전송하는 단계를 더 포함할 수 있다.The above-described credit-based multipath data transmission method includes: if the reception rate of a credit packet received on at least one first path is less than a threshold, transmitting a path reset packet to a receiving device; Determining, in response to the route reset packet, at least one second route from which the credit packet is received first among all routes capable of communicating with the receiving device; Whenever a credit packet is received through the second path from the receiving device, in response to the credit packet, transmitting a data packet to the receiving device through the second path-the credit packet and the second path received through the second path The data packets transmitted to the receiving device through one-to-one correspondence-; And when the remaining data packet to be transmitted to the receiving device no longer exists, transmitting the credit stop packet to the receiving device.
상술한 신용 기반 다중경로 데이터 전송 방법에서, 신용 요청 패킷 및 데이터 패킷은 전송 장치의 식별 정보 및 수신 장치의 식별 정보와 함께 수신 장치에게 전송될 수 있다.In the credit-based multipath data transmission method described above, the credit request packet and the data packet may be transmitted to the receiving device together with identification information of the transmitting device and identification information of the receiving device.
상술한 신용 기반 다중경로 데이터 전송 방법에서, 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고, 신용 기반 다중경로 데이터 전송 방법은, 신용 패킷과 함께, 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 신용 패킷이 경유한 스위치의 식별 정보를 수신하는 단계; 및 신용 패킷이 경유한 스위치의 식별 정보에 기초하여, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 경유한 제1 경로를 특정하는 단계를 더 포함하고, 데이터 패킷은 특정된 제1 경로를 통해 전송될 수 있다.In the above-described credit-based multipath data transmission method, the data center uses a fat-tree topology, and the credit-based multipath data transmission method includes credit packets and a plurality of top layers of the fattree topology. Receiving identification information of a switch via a credit packet among switches; And based on the identification information of the switch via the credit packet, specifying a first path via the credit packet among all paths capable of communicating with the receiving device, and the data packet is transmitted through the specified first path. Can be sent.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 수신 방법으로서, 전송 장치로부터, 신용 요청 패킷을 수신하는 단계; 신용 요청 패킷에 응답하여, 전송 장치에게, 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하는 단계; 전송 장치로부터, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해, 데이터 패킷을 수신하는 단계 -제1 경로를 통해 수신한 데이터 패킷은 제1 경로를 통해 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -; 소정의 시간이 지난 이후, 전송 장치와 통신이 가능한 모든 경로 중에서 데이터 패킷이 수신된 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 단계; 및 전송 장치로부터 신용 중지 패킷을 수신하는 경우, 신용 패킷의 전송을 중단하는 단계를 포함하는, 신용 기반 다중경로 데이터 수신 방법이 제공된다.A technical means for achieving the above-described technical problem, the method for receiving credit-based multipath data for load balancing in a data center network, comprising: receiving a credit request packet from a transmitting device; In response to the credit request packet, transmitting the credit packet to a transmitting device at a predetermined rate for a predetermined time through all paths capable of communicating with the transmitting device; Receiving a data packet from at least one first path among all paths capable of communicating with the transmitting apparatus from the transmitting apparatus-The data packet received through the first path is the credit that has reached the transmitting apparatus through the first path One-to-one correspondence with packets-; Transmitting a credit packet at a predetermined speed only after at least one first path through which a data packet has been received among all paths capable of communicating with a transmitting device after a predetermined time has passed; And when receiving a credit stop packet from the transmitting device, there is provided a credit-based multipath data receiving method comprising the step of stopping the transmission of the credit packet.
상술한 신용 기반 다중경로 데이터 수신 방법에서, 데이터 패킷이 수신되는 적어도 하나의 제1 경로의 개수가 임계값이 되면, 소정의 시간이 지나기 이전이라도, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷이 전송될 수 있다.In the above-described credit-based multipath data receiving method, when the number of at least one first path through which a data packet is received becomes a threshold, at least one of all paths capable of communicating with a transmitting device, even before a predetermined time has elapsed Credit packets may be transmitted at a predetermined rate only through the first path.
상술한 신용 기반 다중경로 데이터 수신 방법은, 전송 장치로부터, 경로 재설정 패킷을 수신하는 단계; 경로 재설정 패킷에 응답하여, 전송 장치에게, 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하는 단계; 전송 장치로부터, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해, 데이터 패킷을 수신하는 단계 - 제2 경로를 통해 수신 장치가 수신한 데이터 패킷은 제2 경로를 통해 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -; 및 소정의 시간이 지난 이후, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 단계를 더 포함할 수 있다.The above-described method for receiving credit-based multipath data includes: receiving a route reset packet from a transmitting device; In response to the route reset packet, transmitting, to the transmitting device, the credit packet at a predetermined rate for a predetermined time through all the routes capable of communicating with the transmitting device; Receiving a data packet from at least one second path among all paths capable of communicating with the transmitting apparatus from a transmitting apparatus-The data packet received by the receiving apparatus via the second path is transmitted to the transmitting apparatus through the second path. One-to-one correspondence with the received credit packet-; And after a predetermined time has elapsed, transmitting the credit packet at a predetermined speed only through at least one second path among all paths capable of communicating with the transmitting device.
상술한 신용 기반 다중경로 데이터 수신 방법에서, 신용 패킷은 수신 장치의 식별 정보 및 전송 장치의 식별 정보와 함께 전송 장치에게 전송될 수 있다.In the above-described credit-based multipath data receiving method, the credit packet may be transmitted to the transmitting device together with identification information of the receiving device and identification information of the transmitting device.
상술한 신용 기반 다중경로 데이터 수신 방법에서, 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고, 신용 기반 다중경로 데이터 수신 방법은, 데이터 패킷과 함께, 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 데이터 패킷이 경유한 스위치의 식별 정보를 수신하는 단계; 및 데이터 패킷이 경유한 스위치의 식별 정보에 기초하여, 전송 장치와 통신이 가능한 모든 경로 중 데이터 패킷이 경유한 제1 경로를 특정하는 단계를 더 포함하고, 소정의 시간이 지난 이후, 신용 패킷은, 전송 장치와 통신이 가능한 모든 경로 중에서 특정된 제1 경로를 통해서만 소정의 속도로 전송될 수 있다.In the above-described credit-based multi-path data receiving method, the data center uses a fat-tree topology, and the credit-based multi-path data receiving method includes a plurality of top layers of the fat tree topology together with data packets. Receiving identification information of a switch via a data packet among the switches; And based on the identification information of the switch through which the data packet passes, specifying a first path through which the data packet passes among all paths capable of communicating with the transmitting device. After a predetermined time, the credit packet , It can be transmitted at a predetermined speed only through a specified first path among all paths that can communicate with a transmission device.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 장치로서, 수신 장치에게 신용 요청 패킷을 전송하는 통신부; 및 신용 요청 패킷에 대한 응답으로, 수신 장치로부터, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제1 경로를 결정하는 제어부를 포함하고, 통신부는, 수신 장치로부터 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 수신 장치에게 데이터 패킷을 전송하고 - 제1 경로를 통해 수신한 신용 패킷과 제1 경로를 통해 수신 장치에게 전송된 데이터 패킷은 일대일 대응됨 -, 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 수신 장치에게 신용 중지 패킷을 전송할 수 있다.As a technical means for achieving the above-described technical problem, a credit-based multipath data transmission apparatus for load balancing in a data center network, comprising: a communication unit transmitting a credit request packet to a receiving apparatus; And in response to the credit request packet, a control unit for determining at least one first path from which the credit packet is first received among all the paths that can communicate with the receiving device from the receiving device, the communication unit, Whenever a credit packet is received through 1 route, a data packet is transmitted to the receiving device through the first route in response to the credit packet-the credit packet received through the first route and the receiving device through the first route When the data packet is one-to-one correspondence-When there is no longer any remaining data packet to be transmitted to the receiving device, a credit stop packet may be sent to the receiving device.
상술한 신용 기반 다중경로 데이터 전송 장치에서, 전송할 잔여 데이터 패킷이 존재하지 않는 경우, 적어도 하나의 제1 경로를 통해 수신되는 신용 패킷은 드랍될 수 있다.In the above-described credit-based multipath data transmission apparatus, when there are no remaining data packets to be transmitted, credit packets received through at least one first path may be dropped.
상술한 신용 기반 다중경로 데이터 전송 장치에서, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상이면, 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 수신 장치에게 데이터 패킷이 전송될 수 있다.In the above-described credit-based multipath data transmission apparatus, if the reception rate of a credit packet received on at least one first path is greater than or equal to a threshold, whenever a credit packet is received through the first path, the first response is made to the credit packet. Data packets may be transmitted to a receiving device through a path.
상술한 신용 기반 다중경로 데이터 전송 장치에서, 통신부는, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 수신 장치에게 경로 재설정 패킷을 전송하고, 제어부는, 경로 재설정 패킷에 대한 응답으로, 수신 장치로부터, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제2 경로를 결정하고, 통신부는, 수신 장치로부터 제2 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제2 경로를 통해 수신 장치에게 데이터 패킷을 전송하고 - 제2 경로를 통해 수신한 신용 패킷과 제2 경로를 통해 수신 장치에게 전송된 데이터 패킷은 일대일 대응됨 -, 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 수신 장치에게 신용 중지 패킷을 전송할 수 있다.In the above-described credit-based multipath data transmission device, the communication unit transmits a route reset packet to the receiving device when the reception rate of the credit packet received on at least one first route is less than a threshold, and the control unit transmits the route reset packet to the receiving device. In response, from the receiving device, the at least one second route from which the credit packet is first received among all the routes that can communicate with the receiving device is determined, and the communication unit receives the credit packet through the second route from the receiving device. Each time, in response to a credit packet, a data packet is transmitted to a receiving device through a second path-a credit packet received through a second path and a data packet transmitted to a receiving device through a second path are one-to-one correspondence-, If there are no more residual data packets to send to the receiving device, the credit stopping packet may be sent to the receiving device.
상술한 신용 기반 다중경로 데이터 전송 장치에서, 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고, 통신부는, 신용 패킷과 함께, 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 신용 패킷이 경유한 스위치의 식별 정보를 수신하고, 제어부는, 신용 패킷이 경유한 스위치의 식별 정보에 기초하여, 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 경유한 제1 경로를 특정하고, 데이터 패킷은 특정된 제1 경로를 통해 전송될 수 있다.In the above-described credit-based multi-path data transmission device, the data center uses a fat-tree topology, and the communication unit, along with the credit packet, passes through a credit packet among a plurality of upper-layer switches in the fat-tree topology. Receiving the identification information of one switch, the control unit, based on the identification information of the switch via the credit packet, specifies the first path via the credit packet among all the paths that can communicate with the receiving device, the data packet is specified It can be transmitted through the first path.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 수신 장치로서, 전송 장치로부터, 신용 요청 패킷을 수신하고, 신용 요청 패킷에 응답하여, 전송 장치에게, 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하고, 전송 장치로부터, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해, 데이터 패킷을 수신하고 - 제1 경로를 통해 수신한 데이터 패킷은 제1 경로를 통해 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -, 소정의 시간이 지난 이후, 전송 장치와 통신이 가능한 모든 경로 중에서 데이터 패킷이 수신된 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 통신부; 및 전송 장치로부터 신용 중지 패킷을 수신하는 경우, 신용 패킷의 전송을 중단하는 제어부를 포함하는, 신용 기반 다중경로 데이터 수신 장치가 제공된다.As a technical means for achieving the above technical problem, a credit-based multipath data receiving apparatus for load balancing in a data center network, receiving a credit request packet from a transmitting device, and responding to the credit request packet, transmitting device To, a credit packet is transmitted at a predetermined rate for a predetermined time through all paths capable of communicating with the transmitting device, and from the transmitting device, a data packet is transmitted through at least one first path among all paths capable of communicating with the transmitting device. And-the data packet received through the first path is one-to-one correspondence with the credit packet reaching the transmitting device through the first path-, after a predetermined time, the data packet among all the paths that can communicate with the transmitting device A communication unit transmitting a credit packet at a predetermined rate only through the received at least one first path; And a control unit for stopping the transmission of the credit packet when receiving the credit stop packet from the transmission device.
상술한 신용 기반 다중경로 데이터 수신 장치에서, 데이터 패킷이 수신되는 적어도 하나의 제1 경로의 개수가 임계값이 되면, 소정의 시간이 지나기 이전이라도, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷이 전송될 수 있다.In the above-described credit-based multipath data receiving apparatus, when the number of at least one first path through which a data packet is received becomes a threshold, at least one of all paths capable of communicating with the transmitting apparatus, even before a predetermined time has elapsed Credit packets may be transmitted at a predetermined rate only through the first path.
상술한 신용 기반 다중경로 데이터 수신 장치에서, 통신부는, 전송 장치로부터, 경로 재설정 패킷을 수신하고, 경로 재설정 패킷에 응답하여, 전송 장치에게, 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하고, 전송 장치로부터, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해, 데이터 패킷을 수신하고 - 제2 경로를 통해 수신한 데이터 패킷은 제2 경로를 통해 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -, 및 소정의 시간이 지난 이후, 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해서만 소정의 속도로 신용 패킷을 전송할 수 있다.In the above-described credit-based multi-path data receiving device, the communication unit receives a route reset packet from the transmitting device, and in response to the route reset packet, transmits to the transmitting device for a predetermined time through all routes capable of communicating with the transmitting device. Transmits a credit packet at a predetermined rate, and receives a data packet from at least one second path among all paths capable of communicating with the transmitting apparatus from the transmitting device-the data packet received through the second path is the second One-to-one correspondence with a credit packet reaching a transmitting device through a path, and after a predetermined time, a credit packet can be transmitted at a predetermined speed only through at least one second path among all paths capable of communicating with the transmitting device. have.
상술한 신용 기반 다중경로 데이터 수신 장치에서, 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고, 통신부는, 데이터 패킷과 함께, 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 데이터 패킷이 경유한 스위치의 식별 정보를 수신하고, 제어부는, 데이터 패킷이 경유한 스위치의 식별 정보에 기초하여, 전송 장치와 통신이 가능한 모든 경로 중 데이터 패킷이 경유한 제1 경로를 특정하고, 소정의 시간이 지난 이후, 신용 패킷은, 전송 장치와 통신이 가능한 모든 경로 중에서 특정된 제1 경로를 통해서만 소정의 속도로 전송될 수 있다.In the above-described credit-based multi-path data receiving apparatus, the data center uses a fat-tree topology, and the communication unit, along with the data packet, passes through a data packet among a plurality of upper-layer switches in the fat tree topology. Receiving the identification information of one switch, the control unit, based on the identification information of the switch via the data packet, specifies the first path via the data packet among all the paths that can communicate with the transmission device, and a predetermined time Since then, the credit packet can be transmitted at a predetermined speed only through the first path specified among all paths that can communicate with the transmitting device.
본 발명의 일 실시예에 의하면, 호스트 간에 다중 경로가 생기는 데이터센터 토폴로지의 경우 일부 경로에 몰릴 수 있는 부하를 분산시키고 혼잡을 예방함으로써, 데이터 플로우의 종료 시간을 앞당기고 더 나아가 서비스 레벨에서는 더 빠른 서비스를 제공할 수 있다.According to an embodiment of the present invention, in the case of a data center topology in which multiple paths are generated between hosts, the load that can be concentrated on some paths is prevented and congestion is prevented, thereby accelerating the end time of the data flow and further, at a service level, faster. Can provide services.
또한, 기존의 데이터센터를 구성하는 스위치의 하드웨어적인 변화를 필요로 하지 않아 추가 비용 없이, 기존의 데이터센터에 바로 적용하여 종래의 데이터 전송 방법들이 가지는 성능 한계를 보완할 수 있다.In addition, since there is no need for a hardware change of a switch constituting an existing data center, it can be applied directly to an existing data center at no additional cost to compensate for performance limitations of conventional data transmission methods.
도 1은 본 발명의 일 실시예에 따른, 데이터센터의 구성을 개략적으로 도시하는 개념도이다.1 is a conceptual diagram schematically showing a configuration of a data center according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른, 신용 기반 다중경로 데이터 송수신 방법을 개략적으로 설명하기 위한 개념도이다.2 is a conceptual diagram schematically illustrating a method for transmitting and receiving credit-based multipath data according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 신용 기반 다중경로 데이터 전송 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a method for transmitting credit-based multipath data according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 신용 기반 다중경로 데이터 수신 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a method for receiving credit-based multipath data according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따라, 신용 기반 다중경로 데이터 전송 장치 또는 신용 기반 다중경로 데이터 수신 장치로 동작할 수 있는 호스트의 기능적 구성을 나타내는 블록도이다.5 is a block diagram illustrating a functional configuration of a host capable of operating as a credit-based multipath data transmission device or a credit-based multipath data reception device, according to an embodiment of the present invention.
이하, 첨부 도면을 참조하여 본 개시의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 개시의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 개시의 일 실시예에 관한 것일 뿐 본 개시가 이로써 제한되는 것은 아님을 알아야 한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Hereinafter, when it is determined that there is a risk of unnecessarily obscuring the subject matter of the present disclosure, a detailed description of already known functions and configurations will be omitted. In addition, it should be understood that the contents described below are only for one embodiment of the present disclosure, and the present disclosure is not limited thereto.
본 개시에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 개시를 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 개시에서 사용되는 "및/또는"이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다' 또는 '가지다' 등의 용어는 본 개시 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.The terms used in the present disclosure are only used to describe specific embodiments and are not intended to limit the present disclosure. For example, a component expressed as a singular should be understood as a concept including a plurality of components unless the context clearly refers to the singular. It should be understood that the term “and / or” as used in this disclosure is intended to encompass any and all possible combinations by one or more of the items listed. Terms such as 'include' or 'have' as used in the present disclosure are only intended to indicate that there are features, numbers, steps, actions, components, parts, or combinations thereof described in the present disclosure. It is not intended to exclude the possibility of the presence or addition of one or more other features or numbers, steps, actions, components, parts or combinations thereof by use.
본 개시의 실시예에 있어서 '모듈' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '모듈' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서에 의해 구현될 수 있다.In the embodiment of the present disclosure, 'module' or 'unit' means a functional part that performs at least one function or operation, and may be implemented by hardware or software, or a combination of hardware and software. In addition, a plurality of 'modules' or 'parts' may be implemented by at least one processor by being integrated with at least one software module, except for 'modules' or 'parts' that need to be implemented with specific hardware. have.
덧붙여, 달리 정의되지 않는 한 기술적 또는 과학적인 용어를 포함하여, 본 개시에서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의된 용어들은, 관련 기술의 문맥상 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시에서 명백하게 달리 정의하지 않는 한 과도하게 제한 또는 확장하여 해석되지 않는다는 점을 알아야 한다.In addition, unless defined otherwise, all terms used in this disclosure, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which this disclosure belongs. It should be understood that commonly used dictionary-defined terms are to be interpreted as having meanings consistent with the contextual meaning of the related art, and are not to be construed as being excessively limited or extended unless explicitly defined otherwise in the present disclosure. .
이하, 첨부된 도면을 참조하여, 본 개시의 실시예에 대해 구체적으로 설명하기로 한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른, 데이터센터의 구성을 개략적으로 도시하는 개념도이다.1 is a conceptual diagram schematically showing a configuration of a data center according to an embodiment of the present invention.
본 발명의 일 실시예에 따르면, 데이터센터(10)는 복수의 호스트(200) 및 복수의 스위치(100, 110, 120)를 포함할 수 있다. 복수의 호스트(200) 각각은 신용 기반 다중경로 데이터 전송 장치 혹은 신용 기반 다중경로 데이터 수신 장치로 기능할 수 있으며, 복수의 스위치(100, 110, 120)는 데이터센터(10) 내에서 복수의 호스트(200) 간의 통신을 위한 다중경로를 생성할 수 있다.According to one embodiment of the invention, the data center 10 may include a plurality of hosts 200 and a plurality of switches (100, 110, 120). Each of the plurality of hosts 200 may function as a credit-based multi-path data transmission device or a credit-based multi-path data reception device, and the plurality of switches 100, 110, and 120 may include a plurality of hosts in the data center 10. A multipath for communication between the 200 may be generated.
본 발명의 일 실시예에 따르면, 데이터센터(10)는 팻트리 토폴로지(fat-tree topology)와 같은 멀티 티어(multi tier) 혹은 멀티 스테이지(multi stage)의 토폴로지를 사용하여 다중 경로를 구성할 수 있다. 팻트리 토폴로지는 3-tier 토폴로지라고도 하며, 도 1에 도시된 바와 같이, 데이터센터(10)는 팻트리 토폴로지를 사용하는 것으로 도시되었으나, 데이터센터(10)가 팻트리 토폴로지 이외에 다양한 멀티 티어 토폴로지 혹은 다른 방식의 토폴로지를 사용할 수 있음은 당업자에게 자명하다. 멀티 티어 토폴로지를 사용하는 데이터센터(10)는 코어(core) 등으로 불리는 최상위 계층의 스위치(100), 어그리게이션(aggregation), 스파인(spine) 등으로 불리는 중간 계층의 스위치(110), 및 에지(edge), 리프(leaf) 등으로 불리는 최하위 계층의 스위치(120)를 포함할 수 있다. 최상위 계층의 스위치(100), 중간 계층의 스위치(110), 및 최하위 계층의 스위치(120)는 상술한 명칭 이외에도, 다양하게 명명될 수 있음은 당업자에게 자명하다.According to an embodiment of the present invention, the data center 10 may configure a multi-path using a multi-tier or multi-stage topology such as a fat-tree topology. have. The fat tree topology is also referred to as a 3-tier topology, and as shown in FIG. 1, the data center 10 is shown using a fat tree topology, but the data center 10 has various multi-tier topologies in addition to the fat tree topology, or It is apparent to those skilled in the art that other types of topologies can be used. The data center 10 using a multi-tier topology includes a switch 100 at a top layer called a core, a switch 110 at a middle layer called aggregation, spine, and the like, and It may include a switch 120 of the lowest layer called an edge, a leaf, or the like. It is apparent to those skilled in the art that the switch 100 of the upper layer, the switch 110 of the middle layer, and the switch 120 of the lower layer may be variously named in addition to the above-described names.
팻트리 토폴로지를 사용하는 데이터센터(10)에서는, 복수의 호스트(200) 중 어느 하나의 전송 장치와 복수의 호스트(200) 중 어느 하나의 수신 장치는 최상위 계층의 스위치(100)의 개수만큼의 병렬적인 통신 경로를 가질 수 있다. 따라서, 전송 장치와 수신 장치 사이의 임의의 경로는 최상위 계층의 스위치(100) 중에서 경유된 스위치에 의해 특정될 수 있다. 즉, 데이터센터(10) 내에서 전송되는 데이터의 경로는, 전송 장치의 식별 정보(예를 들어, 소스(source) IP(internet protocol) 주소), 수신 장치의 식별 정보(예를 들어, 데스티네이션(destination) IP 주소), 및 최상위 계층의 스위치(100) 중에서 경유된 스위치의 식별 정보(예를 들어, 해당 스위치의 IP 주소)에 의하여 특정될 수 있다.In the data center 10 using the fattree topology, any one transmission device among the plurality of hosts 200 and one reception device among the plurality of hosts 200 are as many as the number of switches 100 of the highest layer. You can have parallel communication paths. Thus, any path between the transmitting device and the receiving device can be specified by a switch via the switch 100 of the top layer. That is, the path of data transmitted in the data center 10 includes identification information of a transmitting device (for example, a source IP (internet protocol) address), identification information of a receiving device (for example, a destination) (destination) IP address), and identification information (for example, the IP address of the switch) via the switch among the switches 100 of the highest layer.
도 1에 도시된 바에 의하면, 최상위 계층의 스위치(100)가 총 4개에 해당하므로, 복수의 스위치(100, 110, 120)가 서로 통신하기 위한 경로는 각각 4가지가 존재할 수 있다. 예를 들어, 제1 호스트(210)와 제2 호스트(220) 사이의 통신 경로는, 제1 최상위 계층의 스위치(101)를 경유하는 경로 (즉, 제1 최하위 계층의 스위치(121), 제1 중간 계층의 스위치(111), 제1 최상위 계층의 스위치(101), 제3 중간 계층의 스위치(113), 제2 최하위 계층의 스위치(122) 순서의 경로), 제2 최상위 계층의 스위치(102)를 경유하는 경로 (즉, 제1 최하위 계층의 스위치(121), 제2 중간 계층의 스위치(11), 제2 최상위 계층의 스위치(102), 제3 중간 계층의 스위치(113), 제2 최하위 계층의 스위치(122) 순서의 경로), 제3 최상위 계층의 스위치(103)를 경유하는 경로 (즉, 제1 최하위 계층의 스위치(121), 제2 중간 계층의 스위치(112), 제3 최상위 계층의 스위치(103), 제4 중간 계층의 스위치(114), 제2 최하위 계층의 스위치(122) 순서의 경로), 및 제4 최상위 계층의 스위치(104)를 경유하는 경로 (즉, 제1 최하위 계층의 스위치(121), 제2 중간 계층의 스위치(112), 제4 최상위 계층의 스위치(104), 제4 중간 계층의 스위치(114), 제2 최하위 계층의 스위치(122) 순서의 경로)를 포함할 수 있다.As illustrated in FIG. 1, since the switch 100 of the top layer corresponds to a total of four, four paths for the plurality of switches 100, 110, and 120 to communicate with each other may exist. For example, the communication path between the first host 210 and the second host 220 is a path through the switch 101 of the first highest layer (ie, the switch 121 of the first lowest layer, the second 1 middle layer switch 111, first top layer switch 101, third middle layer switch 113, second bottom layer switch 122 path), second top layer switch ( Route (that is, the first lower layer switch 121, the second intermediate layer switch 11, the second upper layer switch 102, the third intermediate layer switch 113, the second) 2, the path through the switch 103 of the lowest layer, the path through the switch 103 of the third highest layer (ie, the switch 121 of the first lower layer, the switch 112 of the second intermediate layer, the second Via the top 103 switch 103, the fourth middle layer switch 114, the second bottom layer switch 122 sequence), and the fourth top layer switch 104. Path (i.e., switch 121 of the first lower layer, switch 112 of the second lower layer, switch 104 of the fourth upper layer, switch 114 of the fourth lower layer, switch of the second lower layer) (122) the path of the sequence).
도 2는 본 발명의 일 실시예에 따른, 신용 기반 다중경로 데이터 송수신 방법을 개략적으로 설명하기 위한 개념도이다.2 is a conceptual diagram schematically illustrating a method for transmitting and receiving credit-based multipath data according to an embodiment of the present invention.
전술한 바와 같이, 본 발명의 일 실시예에 따르면, 데이터센터(10) 내에서, 제1 호스트(210)와 제2 호스트(220) 사이의 통신 경로는 제1 최상위 계층의 스위치(101)를 경유하는 경로부터 제4 최상위 계층의 스위치(104)를 경유하는 경로까지 총 4가지의 경로를 포함할 수 있다.As described above, according to an embodiment of the present invention, in the data center 10, the communication path between the first host 210 and the second host 220 is a switch 101 of the first top layer A total of four routes may be included, from a route via a route to a route through a switch 104 of the fourth highest layer.
본 발명의 일 실시예에 따르면, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 신용 패킷에 할당된 손실(lossy) 버퍼를 포함할 수 있다. 이에 따라, 임의의 경로를 통해 소정의 양의 신용 패킷이 전송되면, 데이터센터(10) 내의 복수의 스위치(100, 110, 120) 각각을 경유할 때마다, 해당 스위치의 손실 버퍼가 채워진 양에 따라서 전송되는 신용 패킷의 일부가 드랍될 수 있다. 따라서, 데이터센터(10) 내에서 임의의 경로를 통해 신용 패킷을 수신한 호스트는, 수신된 신용 패킷의 양과 속도에 기초하여 해당 경로의 혼잡 상태를 확인할 수 있으며, 각각의 경로의 혼잡 상태에 따라 통신이 가능한 모든 경로 중 데이터 패킷을 전송하기 위한 최적의 경로를 선택할 수 있다.According to an embodiment of the present invention, the plurality of switches 100, 110 and 120 in the data center 10 may include a lossy buffer allocated to a credit packet. Accordingly, when a predetermined amount of credit packets is transmitted through an arbitrary path, each time through each of the plurality of switches 100, 110 and 120 in the data center 10, the loss buffer of the corresponding switch is filled Therefore, a part of the transmitted credit packet may be dropped. Therefore, a host that receives a credit packet through an arbitrary path in the data center 10 can check the congestion status of the corresponding path based on the amount and speed of the received credit packet, and according to the congestion status of each path It is possible to select an optimal path for transmitting a data packet among all paths in which communication is possible.
예를 들어, 신용 기반 다중경로 데이터 전송 장치로 기능하는 제1 호스트(210)가 신용 기반 다중경로 데이터 수신 장치로 제2 호스트(220)에게 데이터 패킷을 전송하고자 하는 경우, 제1 호스트(210)는 제2 호스트(220)에게 신용 요청 패킷을 전송할 수 있다. For example, when the first host 210 serving as a credit-based multipath data transmission device wants to transmit a data packet to the second host 220 as a credit-based multipath data reception device, the first host 210 May transmit a credit request packet to the second host 220.
제2 호스트(220)는 신용 요청 패킷에 응답하여, 제1 호스트(210)에게 제1 최상위 계층의 스위치(101)를 경유하는 경로, 제2 최상위 계층의 스위치(102)를 경유하는 경로, 제3 최상위 계층의 스위치(103)를 경유하는 경로, 및 제4 최상위 계층의 스위치(104)를 경유하는 경로를 포함하여, 제1 호스트(210)와 통신이 가능한 모든 경로를 통하여 소정의 시간(t) 동안 소정의 속도(v)로 신용 패킷을 전송할 수 있다.The second host 220 responds to the credit request packet, and routes the first host 210 through the switch 101 of the first top layer, the route through the switch 102 of the second top layer, and the second host 220. A predetermined time (t) through all the paths that can communicate with the first host 210, including the path through the switch 103 of the top layer and the switch 104 through the switch 104 of the top layer ), The credit packet can be transmitted at a predetermined rate (v).
전술한 바와 같이, 데이터센터(10) 내 복수의 스위치(100, 110, 120)는 신용 패킷에 할당된 손실 버퍼를 포함할 수 있으므로, 복수의 스위치(100, 110, 120) 각각의 혼잡 상태에 따라, 제1 호스트(210)와 제2 호스트(220) 사이에 통신이 가능한 모든 경로들에서 드랍되는 신용 패킷 양과 신용 패킷의 전송 속도가 상이할 수 있다.As described above, since the plurality of switches 100, 110, and 120 in the data center 10 may include a loss buffer allocated to a credit packet, the congestion state of each of the plurality of switches 100, 110, 120 Accordingly, the amount of credit packets dropped and the transmission speed of credit packets may be different in all paths in which communication is possible between the first host 210 and the second host 220.
제1 호스트(210)는 제2 호스트와 통신이 가능한 모든 경로들 중에서, 신용 패킷이 가장 먼저 도달한 k개(k는 1 이상의 정수)의 경로를 선택할 수 있다. 전술한 바와 같이, 신용 패킷의 속도는 해당 경로의 혼잡 상태를 반영하므로, 신용 패킷이 제1 호스트(210)에게 가장 먼저 도달한 경로의 혼잡도가 가장 낮을 수 있으며, 따라서, 제1 호스트(210)는 신용 패킷이 가장 먼저 도달한 순서로 k개의 경로를 선택하여, 제2 호스트(220)와 통신하기 위한 최적의 경로를 결정할 수 있다. 예를 들어, k는 2이고, 제1 최상위 계층의 스위치(101)를 경유하는 경로, 제2 최상위 계층의 스위치(102)를 경유하는 경로, 제3 최상위 계층의 스위치(103)를 경유하는 경로, 및 제4 최상위 계층의 스위치(104)를 경유하는 경로 순서로 신용 패킷이 도달한 경우, 제1 호스트(210)는 제1 최상위 계층의 스위치(101)를 경유하는 경로 및 제2 최상위 계층의 스위치(102)를 경유하는 경로를 데이터 패킷을 전송하기 위한 최적의 경로로 결정할 수 있다.The first host 210 may select k routes (where k is an integer greater than or equal to 1) that the credit packet has reached first among all routes that can communicate with the second host. As described above, since the speed of the credit packet reflects the congestion state of the corresponding path, the congestion degree of the path in which the credit packet first reaches the first host 210 may be the lowest, so the first host 210 May select the k paths in the order in which the credit packets arrive first, to determine an optimal path for communicating with the second host 220. For example, k is 2, the path through the switch 101 of the first top layer, the path through the switch 102 of the second top layer, and the path through the switch 103 of the third top layer. , And when the credit packet arrives in the order of the path through the switch 104 of the fourth highest layer, the first host 210 receives the path through the switch 101 of the first highest layer and the second highest layer. The path through the switch 102 may be determined as an optimal path for transmitting data packets.
제1 호스트(210)는 신용 패킷이 가장 먼저 도달한 k개의 경로 중 어느 하나의 경로 상에서, 하나의 신용 패킷이 수신될 때마다 하나의 데이터 패킷을 전송할 수 있다. 즉, k개의 경로 상에서 수신되는 신용 패킷과, k개의 경로 상에서 전달되는 데이터 패킷은 일대일 대응될 수 있다. 이와 같은 방식으로, 제1 호스트(210)는 k개의 경로 중 어느 하나의 경로가 수용할 수 있는 대역폭만큼의 데이터 패킷을 해당 경로를 통해 제2 호스트(220)에게 전송할 수 있다. The first host 210 may transmit one data packet whenever one credit packet is received on any one of the k paths that the credit packet first reached. That is, a credit packet received on k paths and a data packet transmitted on k paths may be mapped one-to-one. In this way, the first host 210 may transmit a data packet having a bandwidth that can be accommodated by any one of the k paths to the second host 220 through the corresponding path.
또한, 제1 호스트(210)와 제2 호스트(220) 사이에 통신이 가능한 경로들 중에서, 제1 호스트(210)에게 신용 패킷이 도달하는 순서는 제2 호스트(220)에게 전송하는 데이터의 양과는 무관할 수 있다. 즉, 전술한 예시에서, 제2 최상위 계층의 스위치(102)를 경유하는 경로보다 제1 최상위 계층의 스위치(101)를 경유하는 경로를 통하여 제1 호스트(210)에게 신용 패킷이 먼저 도달 하였어도, 신용 패킷과 데이터 패킷은 일대일 대응 관계를 갖고 있으므로, 제1 최상위 계층의 스위치(101)를 경유하는 경로보다 제2 최상위 계층의 스위치(102)를 경유하는 경로에서 더 많은 양의 데이터 패킷이 전달될 수 있다. In addition, among the paths that can be communicated between the first host 210 and the second host 220, the order in which credit packets arrive at the first host 210 is determined by the amount of data transmitted to the second host 220. Can be irrelevant. That is, in the above-described example, even if the credit packet reaches the first host 210 through the path through the switch 101 of the first top layer rather than the path through the switch 102 of the second top layer, Since the credit packet and the data packet have a one-to-one correspondence, a larger amount of data packets are transmitted in the path through the switch 102 of the second top layer than the path through the switch 101 of the first top layer. You can.
이와 같은 방식으로, 제1 호스트(210)는 신용 패킷이 수신될 때마다 제2 호스트(220)에게 데이터 패킷을 즉각적으로 전달하면서도, k 개의 경로 중 어느 하나의 경로가 수용 가능한 대역폭만큼의 데이터 패킷을 해당 경로를 통해 제2 호스트(220)에게 전달하여, 데이터센터(10) 내 제1 호스트(210)와 제2 호스트(220) 사이에 통신이 가능한 모든 경로들의 부하 균형을 이룰 수 있다.In this way, the first host 210 immediately delivers a data packet to the second host 220 whenever a credit packet is received, while any one of the k paths has a bandwidth of an acceptable data packet. To the second host 220 through the corresponding path, it is possible to achieve load balancing of all paths capable of communication between the first host 210 and the second host 220 in the data center 10.
제2 호스트(220)는 t 시간이 지난 뒤에는, 데이터 패킷이 수신되는 k개의 경로를 통해서만 신용 패킷을 v 속도로 전송하여, 제1 호스트(210)와 제2 호스트(220) 사이에 통신이 가능한 모든 경로들 중, 데이터 패킷 전송에 사용되지 않는 경로들의 부하를 줄이고, 불필요한 통신을 중단할 수 있다. 전술한 예시에서, 제1 최상위 계층의 스위치(101)를 경유하는 경로 및 제2 최상위 계층의 스위치(102)를 경유하는 경로 상에서만 데이터 패킷이 수신되는 경우, 제2 호스트(220)는 t 시간 이후에는 제1 최상위 계층의 스위치(101)를 경유하는 경로 및 제2 최상위 계층의 스위치(102)를 경유하는 경로를 통해서만 신용 패킷을 전송하고, 제3 최상위 계층의 스위치(103)를 경유하는 경로 및 제4 최상위 계층의 스위치(104)를 경유하는 경로 상으로는 신용 패킷의 전송을 중단할 수 있다.After the time t, the second host 220 transmits a credit packet at v rate only through k paths through which data packets are received, so that communication between the first host 210 and the second host 220 is possible. Among all paths, it is possible to reduce the load of paths not used for data packet transmission and stop unnecessary communication. In the above example, when the data packet is received only on the path through the switch 101 of the first top layer and the path through the switch 102 of the second top layer, the second host 220 is t time Thereafter, the credit packet is transmitted only through the path through the switch 101 of the first top layer and the path through the switch 102 of the second top layer, and the path through the switch 103 of the third top layer. And it is possible to stop the transmission of the credit packet on the path via the switch 104 of the fourth highest layer.
제1 호스트(210)는 더 이상 전달한 잔여 데이터 패킷이 존재하지 않을 때까지, k개의 경로 상에서 신용 패킷을 수신할 때마다 데이터 패킷을 전송하고, 더 이상 전달한 잔여 데이터 패킷이 존재하지 않으면, 제2 호스트(220)에게 신용 중지 패킷을 전송하여 신용 기반 다중경로 데이터 전송 절차를 종료할 수 있다. 또한, 제2 호스트(220)는 제1 호스트(210)로부터 신용 중지 패킷을 수신하면, 신용 패킷 전송을 중단하고, 신용 기반 다중경로 데이터 수신 절차를 종료할 수 있다.The first host 210 transmits a data packet each time a credit packet is received on k paths until there are no more residual data packets delivered, and if there are no more residual data packets delivered, the second host 210 The credit stop packet may be transmitted to the host 220 to terminate the credit-based multipath data transmission procedure. In addition, when receiving the credit stop packet from the first host 210, the second host 220 may stop the credit packet transmission and end the credit-based multipath data reception procedure.
도 3은 본 발명의 일 실시예에 따른 신용 기반 다중경로 데이터 전송 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a method for transmitting credit-based multipath data according to an embodiment of the present invention.
단계 S310에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 최초로 데이터 패킷을 전송하기 전에, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 경로 중 최적의 데이터 통신 경로를 선택하기 위하여, 신용 기반 다중경로 데이터 수신 장치(220)에게 신용 요청 패킷을 전송할 수 있다.In step S310, the credit-based multipath data transmission device 210, before transmitting the data packet for the first time, in order to select the optimal data communication path among the paths that can communicate with the credit-based multipath data receiving device 220, A credit request packet may be transmitted to the credit-based multipath data receiving device 220.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중 임의의 경로를 통하여 신용 요청 패킷을 전송할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신했던 히스토리에 기초하여, 가장 최근에 신용 기반 다중경로 데이터 수신 장치(220)와 통신했던 경로를 통하여 신용 요청 패킷을 전송할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission apparatus 210 may transmit a credit request packet through any path among all paths capable of communicating with the credit-based multipath data reception apparatus 220. For example, the credit-based multi-path data transmission device 210 is based on the history of communication with the credit-based multi-path data receiving device 220, the most recently communicated with the credit-based multi-path data receiving device 220 Credit request packet can be transmitted through.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 통하여 신용 요청 패킷을 전송할 수 있다. 신용 패킷에 관하여 전술한 바와 마찬가지로, 경로의 혼잡 상태에 따라, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로들 각각에 대한 신용 요청 패킷의 전송 속도가 상이할 수 있다. 따라서, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 사용하여 신용 요청 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 최대한 빨리 전달할 수 있다. 본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게, 신용 요청 패킷을 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)와 함께 전송할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 신용 요청 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 신용 패킷을 요청한 대상을 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 신용 요청 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보에 기초하여 신용 요청 패킷이 전송될 다음 목적지를 특정할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission device 210 may transmit a credit request packet through all paths capable of communicating with the credit-based multipath data reception device 220. As described above with respect to the credit packet, according to the congestion state of the path, the transmission speed of the credit request packet for each of all the paths that can communicate with the credit-based multipath data receiving apparatus 220 may be different. Accordingly, the credit-based multipath data transmission device 210 transmits the credit request packet to the credit-based multipath data reception device 220 as quickly as possible by using any path capable of communicating with the credit-based multipath data reception device 220. You can. According to an embodiment of the present invention, the credit-based multipath data transmission device 210 sends the credit request packet to the credit-based multipath data reception device 220, the identification information of the credit-based multipath data transmission device 210 ( For example, the source IP address) and the identification information (eg, destination IP address) of the credit-based multipath data receiving device 220 may be transmitted. Accordingly, the credit-based multipath data receiving device 220 may specify a target for requesting a credit packet based on identification information of at least the credit-based multipath data transmission device 210 transmitted together with the credit request packet, and the data center. A plurality of switches (100, 110, 120) in (10) is the identification information of the credit-based multi-path data transmission device 210 and the credit-based multi-path data receiving device 220 transmitted with the credit request packet. Based on this, the next destination to which the credit request packet will be transmitted can be specified.
단계 S320에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 신용 요청 패킷에 대한 응답으로, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 통해, 신용 기반 다중경로 데이터 수신 장치(220)로부터 신용 패킷을 수신할 수 있다. 만약, 신용 기반 다중경로 데이터 전송 장치(210)와 신용 기반 다중경로 데이터 수신 장치(220) 사이의 어느 하나의 경로가, 현재 더 이상의 데이터 패킷을 수용할 수 없는 경우, 해당 경로에 포함된 복수의 스위치(100, 110, 120)에서 모든 신용 패킷이 드랍되어, 해당 경로를 통해서는 신용 기반 다중경로 데이터 전송 장치(210)에 신용 패킷이 도달하지 않을 수 있다.In step S320, the credit-based multi-path data transmission device 210, in response to the credit request packet, through the credit-based multi-path data receiving device 220 and all possible communication, credit-based multi-path data receiving device Credit packets may be received from 220. If one of the paths between the credit-based multipath data transmission device 210 and the credit-based multipath data reception device 220 is currently unable to accommodate any more data packets, a plurality of paths included in the corresponding path All the credit packets are dropped in the switches 100, 110, and 120, so that the credit packets may not reach the credit-based multipath data transmission device 210 through the corresponding path.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 데스티네이션 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 소스 IP 주소)를 수신할 수 있다. 이에 따라, 신용 기반 다중경로 데이터 전송 장치(210)는 적어도 신용 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보에 기초하여, 신용 패킷을 전송한 대상을 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 적어도 신용 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여, 신용 패킷이 전송될 다음 목적지를 특정할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission device 210 includes credit packets and identification information (eg, a destination IP address) of the credit-based multipath data transmission device 210 and credit. Identification information (eg, a source IP address) of the base multipath data receiving apparatus 220 may be received. Accordingly, the credit-based multipath data transmission device 210 may specify a target for transmitting the credit packet, based on at least identification information of the credit-based multipath data reception device 220 transmitted together with the credit packet, A plurality of switches (100, 110, 120) in the data center (10) is at least the identification information of the credit-based multipath data receiving device 220 transmitted with the credit packet and the identification of the credit-based multipath data transmission device (210) Based on the information, it is possible to specify the next destination to which the credit packet will be sent.
단계 S330에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중 적어도 하나의 최적의 경로를 선택할 필요가 있거나, 이미 선택된 경로를 S380 단계에서 후술할 조건에 의하여 재설정할 필요가 있는지를 판단할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)가 신용 기반 다중경로 데이터 수신 장치(220)에게 최초로 데이터 패킷을 전송하기 전이어서, 신용 기반 다중경로 데이터 수신 장치(220)와의 최적의 통신 경로를 아직 선택하지 않은 경우, S340 단계로 진행될 수 있다.In step S330, the credit-based multipath data transmission apparatus 210 needs to select at least one optimal path among all paths capable of communicating with the credit-based multipath data reception apparatus 220, or selects an already selected path in step S380. In step, it may be determined whether it is necessary to reset according to conditions to be described later. For example, before the credit-based multipath data transmission device 210 first transmits a data packet to the credit-based multipath data reception device 220, an optimal communication path with the credit-based multipath data reception device 220 If not yet selected, may proceed to step S340.
단계 S330에서, 경로를 선택하거나 재설정할 필요가 있다고 판단한 경우, 단계 S340에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중에서 신용 패킷이 먼저 도달하는 순서로 적어도 하나의 제1 경로를 선택할 수 있다. 신용 패킷이 가장 먼저 도달한 경로가 혼잡도가 가장 낮고 데이터 패킷이 가장 빨리 전달될 확률이 높으므로, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 패킷이 먼저 도달하는 순서로 적어도 하나의 제1 경로를 선택할 수 있다.In step S330, if it is determined that it is necessary to select or reset the route, in step S340, the credit-based multipath data transmission device 210 is credited among all routes that can communicate with the credit-based multipath data receiving device 220. At least one first path may be selected in the order in which packets arrive first. Since the path in which the credit packet first arrives has the lowest congestion rate and the probability that the data packet is delivered fastest, the credit-based multipath data transmission device 210 may transmit at least one first path in the order in which the credit packets arrive first. You can choose
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 패킷과 함께, 팻트리 토폴로지를 사용하는 데이터센터(10)의 최상위 계층의 스위치(100) 중 해당 신용 패킷이 경유하는 스위치의 식별 정보(예를 들어, 해당 스위치의 IP 주소)를 수신할 수 있다. 전술한 바와 같이, 팻트리 토폴로지를 사용하는 데이터센터(10) 내 신용 기반 다중경로 데이터 전송 장치(210) 및 신용 기반 다중경로 데이터 수신 장치(220) 사이의 하나의 경로는 최상위 계층의 스위치(100) 중 사용된 스위치에 의해 특정될 수 있다. 이에 따라, 신용 기반 다중경로 데이터 전송 장치(210)는 가장 먼저 도달한 신용 패킷과 함께 수신한 최상위 계층의 스위치의 식별 정보에 기초하여, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중, 가장 먼저 도달한 신용 패킷이 전송된 경로를 특정하고, 특정된 경로를 제1 경로로 선택할 수 있다.According to an embodiment of the present invention, the credit-based multi-path data transmission device 210, along with the credit packet, passes through the credit packet from the switch 100 of the top layer of the data center 10 using the fattree topology. Switch identification information (for example, the IP address of the switch) can be received. As described above, one path between the credit-based multipath data transmission device 210 and the credit-based multipath data reception device 220 in the data center 10 using the fattree topology is a switch 100 of the highest layer. ) Can be specified by the switch used. Accordingly, the credit-based multipath data transmission device 210 can communicate with the credit-based multipath data reception device 220 based on the identification information of the switch of the highest layer received along with the credit packet that arrives first. Among the paths, a path through which the first received credit packet is transmitted may be specified, and the specified path may be selected as the first path.
단계 S350에서, 신용 기반 다중경로 데이터 전송 장치(210)는 선택된 적어도 하나의 제1 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제1 경로를 통해 신용 기반 다중경로 데이터 수신 장치(220)에게 데이터 패킷을 전송할 수 있다. In step S350, the credit-based multi-path data transmission device 210 is a credit-based multi-path data receiving device through the first path in response to the credit packet whenever a credit packet is received through the selected at least one first path ( 220).
본 발명의 일 실시예에 의하면, 어느 하나의 경로를 통해 신용 기반 다중경로 데이터 전송 장치(210)에 도달한 신용 패킷은, 해당 경로를 통해 신용 기반 다중경로 데이터 수신 장치(220)에게 전송되는 데이터 패킷과 일대일 대응될 수 있다. 어느 하나의 경로를 통해 신용 기반 다중경로 데이터 전송 장치(210)에 도달한 신용 패킷은, 신용 기반 다중경로 데이터 수신 장치(210)가 전송한 소정의 양의 신용 패킷 중, 해당 경로에 포함된 스위치들의 혼잡 상태에 따라 드랍된 신용 패킷들을 제외하고, 해당 경로를 통해 신용 기반 다중경로 데이터 전송 장치(210)에 성공적으로 전송이 완료된 신용 패킷일 수 있다. 따라서, 신용 기반 다중경로 데이터 전송 장치(210)는 적어도 하나의 제1 경로 중 어느 하나의 경로에서 신용 패킷이 수신 되자마자 해당 경로를 통해 데이터 패킷을 전송할 수 있다. 이와 같은 방식으로, 경로 별로 수용 가능한 대역폭만큼의 데이터 패킷이 즉각적으로 전달되어, 신용 기반 다중경로 데이터 전송 장치(210) 및 신용 기반 다중경로 데이터 수신 장치(220) 사이에 통신이 가능한 모든 경로들의 부하 균형을 이룰 수 있다.According to an embodiment of the present invention, a credit packet that reaches the credit-based multipath data transmission device 210 through any one path, data transmitted to the credit-based multipath data reception device 220 through the corresponding path Packets can be mapped one-to-one. The credit packet that has reached the credit-based multipath data transmission device 210 through any one route is a switch included in the corresponding route among a predetermined amount of credit packets transmitted by the credit-based multipath data reception device 210. It may be a credit packet that has been successfully transmitted to the credit-based multipath data transmission device 210 through a corresponding path, except for the dropped credit packets according to the congestion state of the. Accordingly, the credit-based multipath data transmission device 210 may transmit a data packet through a corresponding route as soon as a credit packet is received in any one of the at least one first route. In this way, data packets with an acceptable bandwidth for each route are immediately delivered, and load of all routes capable of communication between the credit-based multipath data transmission device 210 and the credit-based multipath data reception device 220 is transmitted. Balance can be achieved.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 패킷과 함께 수신된 최상위 스위치의 식별 정보에 기초하여, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중, 해당 신용 패킷이 경유한 제1 경로를 특정하여, 특정된 제1 경로로 데이터 패킷을 전송할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission device 210 is capable of communicating with the credit-based multipath data reception device 220 based on identification information of the highest-level switch received with the credit packet. Among the paths, a first path through the corresponding credit packet may be specified, and a data packet may be transmitted through the specified first path.
단계 S360에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 전송할 잔여 데이터 패킷이 존재하는지 여부를 판단할 수 있다. In step S360, the credit-based multipath data transmission device 210 may determine whether there is a residual data packet to be transmitted.
전송할 잔여 데이터 패킷이 존재하면, 단계 S370에서, 신용 기반 다중경로 데이터 전송 장치(210)는 S340 단계에서 선택된 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상인지 여부를 판단할 수 있다. If there is a residual data packet to be transmitted, in step S370, the credit-based multipath data transmission apparatus 210 may determine whether the reception rate of the credit packet received on at least one first path selected in step S340 is greater than or equal to a threshold. have.
본 발명의 일 실시예에 따르면, 신용 패킷의 수신율이란, 신용 패킷 수신량 혹은 신용 패킷 수신 속도에 해당할 수 있다. 구체적으로, 신용 기반 다중경로 데이터 전송 장치(210)는 소정의 주기마다 선택된 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 양을 모니터링하여, 신용 패킷 수신량 혹은 신용 패킷 수신 속도를 측정할 수 있다.According to an embodiment of the present invention, the reception rate of a credit packet may correspond to a credit packet reception amount or a credit packet reception rate. Specifically, the credit-based multi-path data transmission device 210 may monitor the amount of credit packets received on at least one first path selected every predetermined period to measure credit packet reception amount or credit packet reception speed. .
단계 S370에서의 판단 결과, 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상인 경우, 단계 S320에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 기존에 선택된 적어도 하나의 제1 경로를 통해, 신용 기반 다중경로 데이터 수신 장치(220)로부터 지속적으로 신용 패킷을 수신할 수 있다. As a result of the determination in step S370, when the reception rate of the credit packet received on at least one first path is greater than or equal to a threshold, in step S320, the credit-based multipath data transmission device 210, the previously selected at least one first Through the route, the credit packet can be continuously received from the credit-based multipath data receiving device 220.
신용 패킷의 수신율이 임계값 이상이면, 잔여 데이터 패킷을 전송하기 위한 충분한 대역폭이 이미 확보되어 있으므로, 단계 S330에서, 신용 기반 다중경로 데이터 전송 장치(210)는 잔여 데이터 패킷을 전송하기 위해 최적의 경로를 재설정할 필요가 없다고 판단하고, S340 단계를 생략할 수 있다.If the reception rate of the credit packet is greater than or equal to the threshold, sufficient bandwidth for transmitting the residual data packet is already secured. In step S330, the credit-based multipath data transmission apparatus 210 is an optimal path for transmitting the residual data packet. It is determined that there is no need to reset, and step S340 may be omitted.
전술한 바와 같이, 신용 기반 다중경로 데이터 전송 장치(210)에 도달한 신용 패킷과 신용 기반 다중경로 데이터 수신 장치(220)에게 전송된 데이터 패킷은 일대일 대응 관계에 해당할 수 있다. 따라서, 신용 기반 다중경로 데이터 전송 장치(210)는, 최적의 경로를 재탐색하지는 않지만, 기존에 선택된 제1 경로 상에서 주기적으로 새롭게 수신되는 신용 패킷을 통해, 제1 경로의 변동된 혼잡 상태를 확인하고, 그에 따라 잔여 데이터 패킷을 제1 경로 상에 할당할 수 있다. As described above, the credit packet reaching the credit-based multipath data transmission device 210 and the data packet transmitted to the credit-based multipath data reception device 220 may correspond to a one-to-one correspondence relationship. Accordingly, the credit-based multi-path data transmission device 210 does not re-discover the optimal route, but checks the congested state of the first route through the newly received credit packet periodically on the previously selected first route. Then, the remaining data packets can be allocated on the first path accordingly.
본 발명의 일 실시예에 따르면, S370 단계의 판단 결과, 기존에 선택된 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 잔여 데이터 패킷을 전송하기 위한 충분한 대역폭이 확보되어 있지 않은 것이므로, 신용 기반 다중경로 데이터 전송 장치(210)는 최적의 경로를 재설정하는 절차를 개시할 수 있다. 구체적으로, 단계 S380에서, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게 경로 재설정 패킷을 전송할 수 있다.According to an embodiment of the present invention, as a result of the determination in step S370, if the reception rate of a credit packet received on at least one previously selected first path is less than a threshold, sufficient bandwidth for transmitting the remaining data packets is not secured. Since it is not, the credit-based multipath data transmission device 210 may initiate a procedure for resetting the optimal route. Specifically, in step S380, the credit-based multipath data transmission device 210 may transmit a route reset packet to the credit-based multipath data reception device 220.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중 임의의 경로를 통하여 경로 재설정 패킷을 전송할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)는 기존에 선택된 적어도 하나의 제1 경로 중, 가장 최근에 수신한 신용 패킷이 경유한 경로를 통해 경로 재설정 패킷을 전송할 수 있다. 가장 최근에 수신된 신용 패킷이 경유한 경로는, 현재 혼잡도가 가장 낮은 경로에 해당할 수 있으므로, 해당 경로를 이용할 때 경로 재설정 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 가장 빨리 전달할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission apparatus 210 may transmit a route reset packet through any path among all paths capable of communicating with the credit-based multipath data reception apparatus 220. For example, the credit-based multipath data transmission device 210 may transmit a route reset packet through a route via the most recently received credit packet among at least one first route previously selected. Since the path through the most recently received credit packet may correspond to the path with the lowest current congestion, the path reset packet may be delivered to the credit-based multipath data receiving device 220 at the earliest when using the path. .
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 통하여 경로 재설정 패킷을 전송할 수 있다. 전술한 바와 같이, 경로의 혼잡 상태에 따라, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로들 각각에 대한 경로 재설정 패킷의 전송 속도가 상이할 수 있다. 따라서, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 사용하여 경로 재설정 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 최대한 빨리 전달할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission device 210 may transmit a route reset packet through all paths capable of communicating with the credit-based multipath data reception device 220. As described above, according to the congestion state of the route, the transmission speed of the route reset packet for each of all routes capable of communicating with the credit-based multipath data receiving device 220 may be different. Accordingly, the credit-based multipath data transmission device 210 transmits the route reset packet to the credit-based multipath data reception device 220 as quickly as possible using all routes that can communicate with the credit-based multipath data reception device 220. You can.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게, 경로 재설정 패킷을 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)와 함께 전송할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 경로 재설정 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 경로 재설정을 요청한 대상을 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 경로 재설정 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보에 기초하여 경로 재설정 패킷이 전송될 다음 목적지를 특정할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission device 210 transmits a route reset packet to the credit-based multipath data reception device 220, the identification information of the credit-based multipath data transmission device 210 ( For example, the source IP address) and the identification information (eg, destination IP address) of the credit-based multipath data receiving device 220 may be transmitted. Accordingly, the credit-based multipath data receiving apparatus 220 may specify a target for requesting a path reset based on at least identification information of the credit-based multipath data transmission apparatus 210 transmitted with the path reset packet, and the data center. A plurality of switches (100, 110, 120) in (10) is the identification information of the credit-based multi-path data transmission device 210 and the credit-based multi-path data receiving device 220 transmitted with the route reset packet. Based on this, it is possible to specify the next destination to which the redirection packet is to be transmitted.
이후, 단계 S320에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 경로 재설정 패킷에 대한 응답으로, 신용 기반 다중경로 데이터 수신 장치(220)로부터, 신용 기반 다중경로 데이터 전송 장치(210) 및 신용 기반 다중경로 데이터 수신 장치(220) 사이에 통신이 가능한 모든 경로를 통해 경로 재설정을 위한 신용 패킷을 수신할 수 있다. Thereafter, in step S320, the credit-based multipath data transmission device 210, in response to the route reset packet, from the credit-based multipath data reception device 220, the credit-based multipath data transmission device 210 and credit A credit packet for rerouting may be received through all routes capable of communication between the base multipath data receiving devices 220.
이후, 단계 S330에서, 신용 기반 다중경로 데이터 전송 장치(210)는, 경로 재설정을 할 필요가 있다고 판단하여, 단계 S340에서, 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로들 중에서 신용 패킷이 먼저 도달하는 순서로 적어도 하나의 제2 경로를 선택할 수 있다. 이후, 단계 S350에서, 신용 기반 다중경로 데이터 전송 장치(210)는 선택된 적어도 하나의 제2 경로를 통해 신용 패킷이 수신될 때마다, 신용 패킷에 응답하여 제2 경로를 통해 신용 기반 다중경로 데이터 수신 장치(220)에게 데이터 패킷을 전송할 수 있다.Thereafter, in step S330, the credit-based multipath data transmission device 210 determines that it is necessary to reset the route, and in step S340, among all the routes capable of communicating with the credit-based multipath data receiving device 220. At least one second path may be selected in the order in which the credit packets arrive first. Thereafter, in step S350, the credit-based multipath data transmission device 210 receives credit-based multipath data through the second path in response to the credit packet whenever a credit packet is received through at least one selected second path. A data packet can be transmitted to the device 220.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 최적의 경로를 재설정하는 절차를 개시하기 위하여, 신용 패킷의 수신율 이외에도, 다른 기준을 이용할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)는 기존에 선택된 적어도 하나의 제1 경로 상 중 어느 하나의 경로에서 소정의 시간 동안 신용 패킷이 하나도 수신되지 않는 경우, 최적의 경로를 재설정하는 절차를 개시하여, S380 단계에서 경로 재설정 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 전송할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission apparatus 210 may use other criteria in addition to the reception rate of the credit packet, in order to initiate a procedure for resetting the optimal path. For example, the credit-based multipath data transmission device 210 resets the optimal path when no credit packet is received for a predetermined time in any one of the at least one first path previously selected. Initiating the procedure, in step S380, the route reset packet may be transmitted to the credit-based multipath data receiving device 220.
본 발명의 일 실시예에 따르면, S360 단계에서, 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게 신용 중지 패킷을 전송하여, 데이터 패킷 전송 절차 및 신용 패킷 수신 절차를 종료할 수 있다.According to an embodiment of the present invention, in step S360, when there is no longer a residual data packet to be transmitted, the credit-based multipath data transmission device 210 credit stop packet to the credit-based multipath data reception device 220 By transmitting, it is possible to end the data packet transmission procedure and the credit packet reception procedure.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로 중 임의의 경로를 통하여 신용 중지 패킷을 전송할 수 있다. 예를 들어, 신용 기반 다중경로 데이터 전송 장치(210)는 가장 최근에 수신한 신용 패킷이 경유한 경로를 통해 신용 중지 패킷을 전송할 수 있다. 가장 최근에 수신된 신용 패킷이 경유한 경로는, 현재 혼잡도가 가장 낮은 경로에 해당할 수 있으므로, 해당 경로를 이용할 때 신용 중지 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 가장 빨리 전달할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission apparatus 210 may transmit a credit stop packet through any path among all paths capable of communicating with the credit-based multipath data reception apparatus 220. For example, the credit-based multipath data transmission device 210 may transmit a credit stop packet through a path through the most recently received credit packet. Since the path through the most recently received credit packet may correspond to the path with the lowest current congestion, the credit stop packet may be delivered to the credit-based multipath data receiving device 220 at the earliest when using the path. .
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)와 통신이 가능한 모든 경로를 통해 신용 중지 패킷을 전송하여, 신용 중지 패킷을 신용 기반 다중경로 데이터 수신 장치(220)에게 최대한 빨리 전달할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission device 210 transmits a credit stop packet through all paths capable of communicating with the credit-based multipath data reception device 220 to credit the credit stop packet. Based on the multi-path data receiving device 220 can be delivered as soon as possible.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)에게, 신용 중지 패킷을 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)와 함께 전송할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 신용 중지 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 통신을 종료할 대상을 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 신용 중지 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보에 기초하여 신용 중지 패킷이 전송될 다음 목적지를 특정할 수 있다.According to an embodiment of the present invention, the credit-based multipath data transmission device 210 transmits a credit stop packet to the credit-based multipath data reception device 220, the identification information of the credit-based multipath data transmission device 210 ( For example, the source IP address) and the identification information (eg, destination IP address) of the credit-based multipath data receiving device 220 may be transmitted. Accordingly, the credit-based multi-path data receiving device 220 may specify an object to end communication based on at least identification information of the credit-based multi-path data transmission device 210 transmitted with the credit stop packet, and the data center. A plurality of switches (100, 110, 120) in (10) is the identification information of the credit-based multi-path data transmission device 210 and the credit-based multi-path data receiving device 220 transmitted with the credit stop packet. Based on this, the next destination to which the credit suspension packet is to be transmitted can be specified.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 전송 장치(210)는 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 적어도 하나의 제1 경로를 통해 수신되는 신용패킷을 드랍하여 무시할 수 있다.According to an embodiment of the present invention, when the residual data packet to be transmitted no longer exists, the credit-based multipath data transmission apparatus 210 may drop and ignore the credit packet received through at least one first path. .
도 4는 본 발명의 일 실시예에 따른 신용 기반 다중경로 데이터 수신 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a method for receiving credit-based multipath data according to an embodiment of the present invention.
단계 S410에서, 신용 기반 다중경로 데이터 수신 장치(220)는, 신용 기반 다중경로 데이터 전송 장치(210)로부터 데이터 패킷을 최초로 수신하기 전에, 신용 기반 다중경로 데이터 전송 장치(210)로부터 신용 요청 패킷을 수신할 수 있다.In step S410, the credit-based multipath data receiving device 220 receives the credit request packet from the credit-based multipath data transmission device 210 before first receiving the data packet from the credit-based multipath data transmission device 210. I can receive it.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 신용 기반 다중경로 데이터 전송 장치(210)로부터, 신용 요청 패킷과 함께 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)를 수신할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 신용 요청 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 신용 패킷을 요청한 대상을 특정할 수 있다.According to an embodiment of the present invention, the credit-based multipath data receiving device 220 identifies information of the credit-based multipath data transmission device 210 together with a credit request packet from the credit-based multipath data transmission device 210. (For example, a source IP address) and identification information (eg, a destination IP address) of the credit-based multipath data receiving device 220 may be received. Accordingly, the credit-based multipath data receiving device 220 may specify a target for requesting a credit packet based on at least identification information of the credit-based multipath data transmission device 210 transmitted together with the credit request packet.
단계 S420에서, 신용 기반 다중경로 데이터 수신 장치(220)는, S410 단계에서 수신한 신용 요청 패킷에 응답하여, 신용 기반 다중경로 데이터 수신 장치(220) 및 신용 기반 다중경로 데이터 전송 장치(210) 사이에 통신이 가능한 모든 경로를 통해 소정의 시간동안 소정의 속도로 신용 패킷을 전송할 수 있다. 전술한 바와 같이, 경로별 혼잡 상태가 상이하므로, 신용 기반 다중경로 데이터 수신 장치(220)가 모든 경로를 통해 동일한 속도 및 동일한 양의 신용 패킷을 전송하여도, 경로 별로 신용 기반 다중경로 데이터 전송 장치(220)에게 도달하는 신용 패킷의 속도 및 양은 상이할 수 있다.In step S420, the credit-based multipath data receiving device 220, in response to the credit request packet received in step S410, between the credit-based multipath data receiving device 220 and the credit-based multipath data transmission device 210 The credit packet can be transmitted at a predetermined rate for a predetermined time through all paths capable of communication. As described above, since the congestion status for each path is different, even if the credit-based multipath data receiving apparatus 220 transmits the same speed and the same amount of credit packets through all paths, the credit-based multipath data transmission apparatus for each path The rate and amount of credit packets reaching 220 may be different.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 신용 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 데스티네이션 IP 주소), 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 소스 IP 주소), 및 팻트리 토폴로지를 사용하는 데이터센터(10)의 최상위 계층의 스위치(100) 중 해당 신용 패킷이 경유하는 스위치의 식별 정보(예를 들어, 해당 스위치의 IP 주소)를 전송할 수 있다. 이에 따라, 신용 기반 다중경로 데이터 전송 장치(210)는 적어도 신용 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 최상위 계층의 스위치의 식별 정보에 기초하여, 신용 패킷을 전송한 대상과 해당 신용 패킷이 경유한 경로를 특정할 수 있고, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 적어도 신용 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여, 신용 패킷이 전송될 다음 목적지를 특정할 수 있다.According to an embodiment of the present invention, the credit-based multipath data receiving device 220 includes identification information (eg, a destination IP address) and credit of the credit-based multipath data transmission device 210 together with a credit packet. Based on the identification information (for example, source IP address) of the multi-path data receiving device 220 and the switch 100 of the top layer switch 100 of the data center 10 using the fattree topology, the switch through which the credit packet passes. It can transmit the identification information (for example, the IP address of the switch). Accordingly, the credit-based multipath data transmission device 210 transmits a credit packet based on at least the identification information of the credit-based multipath data reception device 220 transmitted with the credit packet and the identification information of the switch of the highest layer. A destination and a route through which the corresponding credit packet can be specified may be specified, and the plurality of switches 100, 110, and 120 in the data center 10 may include at least a credit-based multipath data receiving device 220 transmitted with a credit packet Based on the identification information of and the identification information of the credit-based multi-path data transmission device 210, it is possible to specify the next destination to which the credit packet is to be transmitted.
단계 S430에서, 신용 기반 다중경로 데이터 수신 장치(220)는, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중 적어도 하나의 제1 경로를 통해 데이터 패킷을 수신할 수 있다. In operation S430, the credit-based multipath data receiving apparatus 220 may receive a data packet through at least one first path among all paths capable of communicating with the credit-based multipath data transmission apparatus 210.
단계 S440 및 S450 에서, 신용 기반 다중경로 데이터 전송 장치(210)로부터, 경로 재탐색을 위한 신용 요청 패킷 및 신용 중지 패킷이 모두 수신되지 않으면, 단계 S460에서, 신용 기반 다중경로 데이터 수신 장치(220)는 소정의 시간 지난 이후, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중에서 S430 단계에서 데이터 패킷이 수신된 적어도 하나의 제1 경로를 통해서만, 소정의 속도로 신용 패킷을 전송할 수 있다. 이와 같은 방식으로, 신용 기반 다중경로 데이터 수신 장치(220)는 기존에 선택된 적어도 하나의 제1 경로의 현재 혼잡 상태를 신용 기반 다중경로 데이터 수신 장치(220)에게 지속적으로 알려줄 수 있다.In steps S440 and S450, if both the credit request packet and the credit stop packet for re-routing are not received from the credit-based multipath data transmission device 210, in step S460, the credit-based multipath data reception device 220 After a predetermined time has passed, the credit packet can be transmitted at a predetermined speed only through at least one first path through which the data packet was received in step S430 among all paths capable of communicating with the credit-based multipath data transmission device 210. have. In this manner, the credit-based multi-path data receiving device 220 may continuously inform the credit-based multi-path data receiving device 220 of the current congestion state of at least one first path that has been previously selected.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 데이터 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소), 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소), 및 팻트리 토폴로지를 사용하는 데이터센터(10)의 최상위 계층의 스위치(100) 중 해당 데이터 패킷이 경유하는 스위치의 식별 정보(예를 들어, 해당 스위치의 IP 주소)를 수신할 수 있다. 이에 따라, 신용 기반 다중경로 데이터 전송 장치(210)는 적어도 데이터 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 최상위 계층의 스위치의 식별 정보에 기초하여, 데이터 패킷을 전송한 대상과 해당 데이터 패킷이 경유한 경로를 특정할 수 있다. 또한, 신용 기반 다중경로 데이터 전송 장치(210)는, 특정된 경로를 제1 경로로 선택하여, 소정의 시간이 지난 이후에는 특정된 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송할 수 있다.. 또한, 데이터센터(10) 내의 복수의 스위치(100, 110, 120)는 적어도 데이터 패킷과 함께 전송된 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보 및 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여, 데이터 패킷이 전송될 다음 목적지를 특정할 수 있다.According to an embodiment of the present invention, the credit-based multipath data receiving device 220 includes, along with data packets, identification information (eg, a source IP address) of the credit-based multipath data transmission device 210, credit-based Identification information (for example, a destination IP address) of the multi-path data receiving device 220, and a switch through which the corresponding data packet is transmitted among the switches 100 of the top layer of the data center 10 using the fat tree topology It can receive the identification information (for example, the IP address of the switch). Accordingly, the credit-based multipath data transmission apparatus 210 transmits a data packet based on at least the identification information of the credit-based multipath data reception apparatus 220 transmitted with the data packet and the identification information of the switch of the highest layer. It is possible to specify a path through a target and a corresponding data packet. In addition, the credit-based multipath data transmission apparatus 210 may select the specified path as the first path, and transmit a credit packet at a predetermined rate only through the specified first path after a predetermined time has elapsed. In addition, the plurality of switches (100, 110, 120) in the data center 10 is at least the identification information of the credit-based multipath data receiving device 220 transmitted with the data packet and the credit-based multipath data transmission device 210 ), The next destination to which the data packet is to be transmitted can be specified.
본 발명의 일 실시예에 따르면, S430 단계에서 데이터 패킷이 수신되는 제1 경로의 개수가 임계값이 되면, S460 단계에서, 신용 기반 다중경로 데이터 수신 장치(220)는, 소정의 시간이 지나기 이전이라도, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중에서 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송할 수 있다. 신용 기반 다중경로 데이터 수신 장치(220)가 신용 기반 다중경로 데이터 전송 장치(210)로부터 데이터 패킷을 수신할 경로의 개수(즉, 임계값)를 미리 알고 있는 경우, 신용 기반 다중경로 데이터 수신 장치(220)는 소정의 사간이 지나지 않았더라도, 통신에 이용되는 제1 경로 상에서만 신용 패킷을 전송하여, 데이터센터(10) 내에 불필요한 부하를 유발하지 않을 수 있다.According to an embodiment of the present invention, if the number of first paths in which a data packet is received in step S430 is a threshold value, in step S460, the credit-based multipath data receiving device 220, before a predetermined time passes Even, the credit packet can be transmitted at a predetermined speed only through the first path among all paths that can communicate with the credit-based multipath data transmission device 210. If the credit-based multipath data receiving device 220 knows in advance the number of paths (that is, a threshold) to receive data packets from the credit-based multipath data transmission device 210, the credit-based multipath data receiving device ( 220) may not cause unnecessary load in the data center 10 by transmitting a credit packet only on a first path used for communication, even if a predetermined period has not passed.
이후, 신용 기반 다중경로 데이터 수신 장치(220)는, S430 단계에서, 신용 기반 다중경로 데이터 전송 장치(210)로부터, 기존에 선택된 제1 경로를 통해 데이터 패킷을 수신할 수 있다. Thereafter, the credit-based multipath data receiving apparatus 220 may receive a data packet from the credit-based multipath data transmission apparatus 210 through the first selected path in step S430.
단계 S440에서, 신용 기반 다중경로 데이터 수신 장치(220)가 신용 기반 다중경로 데이터 전송 장치(210)로부터, 경로 재설정 패킷을 수신하면, 신용 기반 다중경로 데이터 전송 장치(210)와 통신하기 위한 최적의 경로를 재설정하기 위한 절차가 개시될 수 있다.In step S440, when the credit-based multipath data receiving device 220 receives a route reset packet from the credit-based multipath data transmission device 210, it is optimal for communicating with the credit-based multipath data transmission device 210. A procedure for rerouting may be initiated.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 신용 기반 다중경로 데이터 전송 장치(210)로부터, 경로 재설정 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)를 수신할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 경로 재설정 패킷과 함께 수신한 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 경로 재설정을 요청한 대상을 특정할 수 있다.According to an embodiment of the present invention, the credit-based multipath data receiving device 220 identifies the credit-based multipath data transmission device 210 from the credit-based multipath data transmission device 210 together with a route reset packet. Information (eg, a source IP address) and identification information (eg, a destination IP address) of the credit-based multipath data receiving device 220 may be received. Accordingly, the credit-based multipath data receiving apparatus 220 may specify a target for requesting a path reset based on at least identification information of the credit-based multipath data transmission apparatus 210 received together with the path reset packet.
이후, 단계 S420에서, 신용 기반 다중경로 데이터 수신 장치(220)는 경로 재설정 패킷에 응답하여, 신용 기반 다중경로 데이터 전송 장치(210) 및 신용 기반 다중경로 데이터 수신 장치(220) 사이에 통신이 가능한 모든 경로를 통해 소정의 시간동안 소정의 속도로 경로 재설정을 위한 신용 패킷을 전송할 수 있다. Thereafter, in step S420, the credit-based multipath data receiving device 220 is capable of communicating between the credit-based multipath data transmitting device 210 and the credit-based multipath data receiving device 220 in response to the route reset packet. It is possible to transmit a credit packet for rerouting at a predetermined speed for a predetermined time over all routes.
이후, 단계 S430에서, 신용 기반 다중경로 데이터 수신 장치(220)는, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중 적어도 하나의 제2 경로를 통해 데이터 패킷을 수신할 수 있다. 또한, 단계 S460에서, 신용 기반 다중경로 데이터 수신 장치(220)는 소정의 시간 지난 이후, 신용 기반 다중경로 데이터 전송 장치(210)와 통신이 가능한 모든 경로 중에서 S430 단계에서 데이터 패킷이 수신된 적어도 하나의 제2 경로를 통해서만, 소정의 속도로 신용 패킷을 전송할 수 있다.Thereafter, in step S430, the credit-based multipath data receiving apparatus 220 may receive a data packet through at least one second path among all paths capable of communicating with the credit-based multipath data transmission apparatus 210. . In addition, in step S460, the credit-based multi-path data receiving device 220, after a predetermined time, at least one data packet received in step S430 among all the paths that can communicate with the credit-based multi-path data transmission device 210 Only through the second path, the credit packet can be transmitted at a predetermined speed.
본 발명의 일 실시예에 따르면, S450 단계에서, 신용 기반 다중경로 데이터 전송 장치(210)는 신용 기반 다중경로 데이터 수신 장치(220)로부터 신용 중지 패킷을 수신하여, 신용 패킷 전송 절차 및 데이터 패킷 수신 절차를 종료할 수 있다.According to an embodiment of the present invention, in step S450, the credit-based multipath data transmission apparatus 210 receives a credit stop packet from the credit-based multipath data reception apparatus 220, and receives a credit packet transmission procedure and a data packet The procedure can be terminated.
본 발명의 일 실시예에 따르면, 신용 기반 다중경로 데이터 수신 장치(220)는 신용 기반 다중경로 데이터 전송 장치(210)로부터, 신용 중지 패킷과 함께, 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보(예를 들어, 소스 IP 주소) 및 신용 기반 다중경로 데이터 수신 장치(220)의 식별 정보(예를 들어, 데스티네이션 IP 주소)를 수신할 수 있다. 이에 따라 신용 기반 다중경로 데이터 수신 장치(220)는 적어도 신용 중지 패킷과 함께 전송된 신용 기반 다중경로 데이터 전송 장치(210)의 식별 정보에 기초하여 통신을 종료할 대상을 특정할 수 있다.According to an embodiment of the present invention, the credit-based multipath data receiving device 220 identifies the credit-based multipath data transmission device 210 together with a credit suspension packet from the credit-based multipath data transmission device 210. Information (eg, a source IP address) and identification information (eg, a destination IP address) of the credit-based multipath data receiving device 220 may be received. Accordingly, the credit-based multipath data receiving device 220 may specify an object to end communication based on at least identification information of the credit-based multipath data transmission device 210 transmitted with the credit stop packet.
도 5는 본 발명의 일 실시예에 따라, 신용 기반 다중경로 데이터 전송 장치 또는 신용 기반 다중경로 데이터 수신 장치로 동작할 수 있는 호스트의 기능적 구성을 나타내는 블록도이다.5 is a block diagram illustrating a functional configuration of a host capable of operating as a credit-based multipath data transmission device or a credit-based multipath data reception device, according to an embodiment of the present invention.
도시된 바에 의하면, 호스트(500)는 통신부(510), 제어부(520), 및 메모리(530)를 포함할 수 있다.As illustrated, the host 500 may include a communication unit 510, a control unit 520, and a memory 530.
도 1 내지 도 4를 통해 전술한 복수의 호스트(200) 각각은, 도 5에 도시된 호스트(500)와 동일한 기능적 구성을 포함할 수 있다.Each of the plurality of hosts 200 described above with reference to FIGS. 1 to 4 may include the same functional configuration as the host 500 illustrated in FIG. 5.
본 발명의 일 실시예에 따라, 전송할 데이터 패킷이 존재하는 경우, 호스트(500)는 신용 기반 다중경로 데이터 전송 장치(210)로 기능할 수 있으며, 전송할 데이터 패킷이 존재하지 않는 경우, 호스트(500)는 신용 기반 다중경로 데이터 수신 장치(220)로만 기능할 수 있다.According to an embodiment of the present invention, when a data packet to be transmitted exists, the host 500 may function as a credit-based multipath data transmission device 210, and when there is no data packet to be transmitted, the host 500 ) Can only function as a credit-based multipath data receiving device 220.
통신부(510)는 데이터센터(10) 내의 다른 호스트 및 복수의 스위치(100, 110, 120)와 소정의 프로토콜에 따라 통신할 수 있다. 예를 들어, 통신부(510)는 LAN망 등에 구현된 네트워크를 통해, 데이터센터(10) 내 다른 호스트 및 스위치와 통신할 수 있다. 본 개시의 일 실시예에 의하면, 통신부(510)는 복수의 스위치(100, 110, 120)에 의해 형성된 다중경로를 통해 다른 호스트(500)와 데이터 패킷, 신용 패킷, 신용 요청 패킷, 경로 재설정 패킷과 같은 정보를 송수신할 수 있다.The communication unit 510 may communicate with other hosts in the data center 10 and a plurality of switches 100, 110, and 120 according to a predetermined protocol. For example, the communication unit 510 may communicate with other hosts and switches in the data center 10 through a network implemented in a LAN network or the like. According to an embodiment of the present disclosure, the communication unit 510 communicates with another host 500 through a multipath formed by a plurality of switches 100, 110, and 120, a data packet, a credit packet, a credit request packet, and a route reset packet. The same information can be transmitted and received.
제어부(520)는, 통상적으로 호스트(500)의 전반적인 동작을 제어한다. 예를 들어, 호스트(500)는, 메모리(530)에 저장된 프로그램들을 실행함으로써, 통신부(510) 등을 전반적으로 제어하는 중앙 프로세서가 될 수 있다.The control unit 520 typically controls the overall operation of the host 500. For example, the host 500 may be a central processor that controls the communication unit 510 as a whole by executing programs stored in the memory 530.
본 발명의 일 실시예에 따라, 제어부(520)는 기능적 구성에 따라, 신용 요청 패킷 생성부(522), 신용 패킷 생성부(524), 경로 선택부(526), 및 데이터 패킷 생성부(528)를 포함할 수 있다.According to an embodiment of the present invention, the control unit 520 according to the functional configuration, the credit request packet generation unit 522, the credit packet generation unit 524, the path selection unit 526, and the data packet generation unit 528 ).
신용 요청 패킷 생성부(522)는 호스트(500)가 신용 기반 다중경로 데이터 전송 장치(210)로 기능할 때 활성화 될 수 있고, 다른 호스트에 데이터 패킷을 최초로 전송하기 전, 신용 요청 패킷을 생성하고, 다른 호스트까지의 최적의 경로를 재설정하는 절차가 개시될 때 경로 재설정 패킷을 생성할 수 있다. 신용 요청 패킷 생성부(522)는, 생성된 신용 요청 패킷 또는 경로 재설정 패킷을, 도 3에서 전술한 방법에 따라, 다중경로 중 임의의 경로에 할당할 수 있다.The credit request packet generator 522 may be activated when the host 500 functions as a credit-based multipath data transmission device 210, and generates a credit request packet before first transmitting the data packet to another host. When a procedure for reestablishing an optimal route to another host is initiated, a route reset packet may be generated. The credit request packet generator 522 may allocate the generated credit request packet or route reset packet to any path among the multipaths according to the method described above with reference to FIG. 3.
신용 패킷 생성부(524)는 호스트(500)가 신용 기반 다중경로 데이터 수신 장치(220)로 기능할 때 활성화 될 수 있고, 신용 요청 패킷에 응답하여, 신용 패킷을 생성할 수 있다. 신용 패킷 생성부(524)는, 생성된 신용 패킷을, 도 4에서 전술한 방법에 따라, 다른 호스트와 통신 가능한 모든 경로에 할당하거나, 데이터 패킷이 수신되는 경로 상에만 할당할 수 있다.The credit packet generator 524 may be activated when the host 500 functions as the credit-based multipath data receiving device 220, and may generate a credit packet in response to the credit request packet. The credit packet generation unit 524 may allocate the generated credit packet to all paths that can communicate with other hosts, or only on the path through which the data packet is received, according to the method described above with reference to FIG. 4.
경로 선택부(526)는 호스트(500)가 신용 기반 다중경로 데이터 전송 장치(210)로 기능할 때 활성화 될 수 있고, 통신부(510)에서 수신된 신용 패킷에 기초하여, 다른 호스트와 통신이 가능한 모든 경로의 혼잡 상태를 비교하고, 데이터 패킷을 전송하기 위한 적어도 하나의 최적의 경로를 선택할 수 있다.The route selector 526 may be activated when the host 500 functions as a credit-based multipath data transmission device 210, and may communicate with other hosts based on the credit packets received from the communication unit 510. The congestion status of all paths can be compared, and at least one optimal path for transmitting data packets can be selected.
데이터 패킷 생성부(528)는 전송할 데이터 패킷을 생성하고, 경로 선택부(526)에 의해 선택된 적어도 하나의 최적의 경로를 통해, 최적의 경로 상에서 신용 패킷이 수신될 때마다 데이터 패킷 해당 경로에 할당할 수 있다.The data packet generation unit 528 generates a data packet to be transmitted, and allocates to the data packet corresponding path whenever a credit packet is received on the optimal path through at least one optimal path selected by the path selection unit 526. can do.
메모리(530)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Pro grammable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 본 발명의 일 실시예에 따라, 메모리(530)는 데이터센터(10) 내의 다른 호스트에게 전송하기 위해 생성된 데이터 패킷, 신용 패킷, 신용 요청 패킷과 같은 정보를 저장하거나, 데이터센터(10) 내의 다른 호스트로부터 수신한 데이터 패킷, 신용 패킷, 신용 요청 패킷, 경로 재설정 패킷과 같은 정보를 저장할 수 있다.The memory 530 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Pro grammable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic It may include a storage medium of at least one type of disk, optical disk. According to an embodiment of the present invention, the memory 530 stores information such as data packets, credit packets, and credit request packets generated for transmission to other hosts in the data center 10, or in the data center 10. It can store information such as data packets, credit packets, credit request packets, and route reset packets received from other hosts.
당업자라면 알 수 있듯이, 본 개시가 본 명세서에 기술된 예시에 한정되는 것이 아니라 본 개시의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 재구성 및 대체될 수 있다. 본 명세서에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있음을 알아야 한다.As will be appreciated by those skilled in the art, the present disclosure is not limited to the examples described herein, but may be variously modified, reconstructed, and replaced without departing from the scope of the present disclosure. It should be understood that the various techniques described herein can be implemented by hardware or software, or a combination of hardware and software.
본 개시의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨터 프로세서 등에 의해 판독 가능한 저장 매체, 예컨대 EPROM, EEPROM, 플래시 메모리장치와 같은 비휘발성 메모리, 내장형 하드 디스크와 착탈식 디스크 같은 자기 디스크, 광자기 디스크, 및 CDROM 디스크 등을 포함한 다양한 유형의 저장 매체에 저장된 형태로 구현될 수 있다. 또한, 프로그램 코드(들)는 어셈블리어나 기계어로 구현될 수 있다. 본 개시의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 이하의 특허청구범위에 의해 모두 포괄하고자 한다.A computer program according to an embodiment of the present disclosure includes a storage medium readable by a computer processor or the like, such as EPROM, EEPROM, non-volatile memory such as a flash memory device, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and It may be implemented in a form stored in various types of storage media, including CDROM disks. Also, the program code (s) can be implemented in assembly or machine language. All modifications and changes belonging to the true spirit and scope of the present disclosure are intended to be covered by the following claims.

Claims (20)

  1. 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법으로서,A credit-based multipath data transmission method for load balancing in a data center network,
    수신 장치에게 신용 요청 패킷을 전송하는 단계;Transmitting a credit request packet to a receiving device;
    상기 신용 요청 패킷에 대한 응답으로, 상기 수신 장치로부터, 상기 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제1 경로를 결정하는 단계; 및Determining, in response to the credit request packet, at least one first path from which the credit packet is received first among all paths capable of communicating with the receiving apparatus; And
    상기 수신 장치로부터 상기 제1 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제1 경로를 통해 상기 수신 장치에게 데이터 패킷을 전송하는 단계 - 상기 제1 경로를 통해 수신한 상기 신용 패킷과 상기 제1 경로를 통해 상기 수신 장치에게 전송된 상기 데이터 패킷은 일대일 대응됨 -;Whenever a credit packet is received through the first path from the receiving device, transmitting a data packet to the receiving device through the first path in response to the credit packet-the received through the first path A credit packet and the data packet transmitted to the receiving device via the first path correspond one-to-one;
    상기 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 상기 수신 장치에게 신용 중지 패킷을 전송하는 단계When there is no longer a residual data packet to be transmitted to the receiving device, transmitting a credit stop packet to the receiving device.
    를 포함하는, 신용 기반 다중경로 데이터 전송 방법.Including, credit-based multi-path data transmission method.
  2. 제1항에 있어서,According to claim 1,
    상기 전송할 잔여 데이터 패킷이 존재하지 않는 경우, 상기 적어도 하나의 제1 경로를 통해 수신되는 신용패킷은 드랍되는, 신용 기반 다중경로 데이터 전송 방법.When the residual data packet to be transmitted does not exist, the credit packet received through the at least one first path is dropped, the credit-based multipath data transmission method.
  3. 제1항에 있어서,According to claim 1,
    상기 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상이면, 상기 제1 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제1 경로를 통해 상기 수신 장치에게 데이터 패킷이 전송되는, 신용 기반 다중경로 데이터 전송 방법.When the reception rate of the credit packet received on the at least one first path is greater than or equal to a threshold, whenever a credit packet is received through the first path, the credit packet is responded to the receiving device through the first path. A method of transmitting credit-based multipath data in which data packets are transmitted.
  4. 제1항에 있어서,According to claim 1,
    상기 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 상기 수신 장치에게 경로 재설정 패킷을 전송하는 단계;If the received rate of the credit packet received on the at least one first path is less than a threshold, transmitting a route reset packet to the receiving device;
    상기 경로 재설정 패킷에 대한 응답으로, 상기 수신 장치로부터, 상기 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제2 경로를 결정하는 단계;Determining, in response to the route reset packet, at least one second route from which the credit packet is received first among all routes capable of communicating with the receiving device;
    상기 수신 장치로부터 상기 제2 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제2 경로를 통해 상기 수신 장치에게 데이터 패킷을 전송하는 단계 - 상기 제1 경로를 통해 수신한 상기 신용 패킷과 상기 제1 경로를 통해 상기 수신 장치에게 전송된 상기 데이터 패킷은 일대일 대응됨 -; 및Whenever a credit packet is received through the second path from the receiving device, transmitting a data packet to the receiving device through the second path in response to the credit packet-the received through the first path A credit packet and the data packet transmitted to the receiving device via the first path correspond one-to-one; And
    상기 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 상기 수신 장치에게 신용 중지 패킷을 전송하는 단계When there is no longer a residual data packet to be transmitted to the receiving device, transmitting a credit stop packet to the receiving device.
    를 더 포함하는, 신용 기반 다중경로 데이터 전송 방법.Further comprising, credit-based multi-path data transmission method.
  5. 제1항에 있어서,According to claim 1,
    상기 신용 요청 패킷 및 상기 데이터 패킷은 전송 장치의 식별 정보 및 상기 수신 장치의 식별 정보와 함께 상기 수신 장치에게 전송되는, 신용 기반 다중경로 데이터 전송 방법.The credit request packet and the data packet are transmitted to the receiving device together with the identification information of the transmitting device and the identification information of the receiving device, credit-based multi-path data transmission method.
  6. 제1항에 있어서,According to claim 1,
    상기 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고,The data center uses a fat-tree topology,
    상기 신용 기반 다중경로 데이터 전송 방법은,The credit-based multipath data transmission method,
    상기 신용 패킷과 함께, 상기 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 상기 신용 패킷이 경유한 스위치의 식별 정보를 수신하는 단계; 및Receiving, together with the credit packet, identification information of a switch passed by the credit packet among switches of a plurality of top layers of the fattree topology; And
    상기 신용 패킷이 경유한 스위치의 식별 정보에 기초하여, 상기 수신 장치와 통신이 가능한 모든 경로 중 상기 신용 패킷이 경유한 상기 제1 경로를 특정하는 단계를 더 포함하고,And based on the identification information of the switch via the credit packet, specifying the first path via the credit packet among all paths capable of communicating with the receiving device,
    상기 데이터 패킷은 상기 특정된 제1 경로를 통해 전송되는, 신용 기반 다중경로 데이터 전송 방법.The data packet is transmitted through the specified first path, credit-based multipath data transmission method.
  7. 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 수신 방법으로서,A method for receiving credit-based multipath data for load balancing in a data center network,
    전송 장치로부터, 신용 요청 패킷을 수신하는 단계;Receiving a credit request packet from a transmitting device;
    상기 신용 요청 패킷에 응답하여, 상기 전송 장치에게, 상기 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하는 단계;In response to the credit request packet, transmitting the credit packet to the transmitting device at a predetermined rate for a predetermined time through all paths capable of communicating with the transmitting device;
    상기 전송 장치로부터, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해, 데이터 패킷을 수신하는 단계 - 상기 제1 경로를 통해 수신한 상기 데이터 패킷은 상기 제1 경로를 통해 상기 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -;Receiving a data packet from at least one first path among all paths capable of communicating with the transmitting apparatus, from the transmitting apparatus-the data packet received through the first path is the first path; One-to-one correspondence with credit packets arriving at the transmitting device-;
    상기 소정의 시간이 지난 이후, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 데이터 패킷이 수신된 상기 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 단계; 및After the predetermined time has passed, transmitting a credit packet at a predetermined rate only through the at least one first path from which the data packet was received among all paths capable of communicating with the transmitting device; And
    상기 전송 장치로부터 신용 중지 패킷을 수신하는 경우, 신용 패킷의 전송을 중단하는 단계When receiving a credit stop packet from the transmitting device, stopping the transmission of the credit packet
    를 포함하는, 신용 기반 다중경로 데이터 수신 방법.Including, credit-based multi-path data receiving method.
  8. 제7항에 있어서,The method of claim 7,
    상기 데이터 패킷이 수신되는 상기 적어도 하나의 제1 경로의 개수가 임계값이 되면, 상기 소정의 시간이 지나기 이전이라도, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷이 전송되는, 신용 기반 다중경로 데이터 수신 방법.When the number of the at least one first path through which the data packet is received becomes a threshold value, even before the predetermined time passes, it is determined only through the at least one first path among all paths capable of communicating with the transmitting device. A method of receiving credit-based multipath data in which a credit packet is transmitted at a rate of.
  9. 제7항에 있어서,The method of claim 7,
    상기 전송 장치로부터, 경로 재설정 패킷을 수신하는 단계;Receiving a route reset packet from the transmitting device;
    상기 경로 재설정 패킷에 응답하여, 상기 전송 장치에게, 상기 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하는 단계;In response to the route reset packet, transmitting, to the transmitting device, a credit packet at a predetermined rate for a predetermined time through all routes capable of communicating with the transmitting device;
    상기 전송 장치로부터, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해, 데이터 패킷을 수신하는 단계 - 상기 제2 경로를 통해 수신한 상기 데이터 패킷은 상기 제2 경로를 통해 상기 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -; 및Receiving, from the transmitting device, a data packet through at least one second path among all paths capable of communicating with the transmitting device-the data packet received through the second path is transmitted through the second path One-to-one correspondence with credit packets arriving at the transmitting device-; And
    상기 소정의 시간이 지난 이후, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 적어도 하나의 제2 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 단계After the predetermined time has passed, transmitting a credit packet at a predetermined rate only through the at least one second path among all paths that can communicate with the transmission device
    를 더 포함하는, 신용 기반 다중경로 데이터 수신 방법.Further comprising, credit-based multi-path data receiving method.
  10. 제7항에 있어서,The method of claim 7,
    상기 신용 패킷은 수신 장치의 식별 정보 및 상기 전송 장치의 식별 정보와 함께 상기 전송 장치에게 전송되는, 신용 기반 다중경로 데이터 수신 방법.The credit packet is transmitted to the transmitting device together with the identification information of the receiving device and the identification information of the transmitting device, credit-based multi-path data receiving method.
  11. 제7항에 있어서,The method of claim 7,
    상기 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고,The data center uses a fat-tree topology,
    상기 신용 기반 다중경로 데이터 수신 방법은,The credit-based multi-path data receiving method,
    상기 데이터 패킷과 함께, 상기 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 상기 데이터 패킷이 경유한 스위치의 식별 정보를 수신하는 단계; 및Receiving identification information of a switch via the data packet among switches of a plurality of uppermost layers of the fattree topology together with the data packet; And
    상기 데이터 패킷이 경유한 스위치의 식별 정보에 기초하여, 상기 전송 장치와 통신이 가능한 모든 경로 중 상기 데이터 패킷이 경유한 상기 제1 경로를 특정하는 단계를 더 포함하고,And based on the identification information of the switch via the data packet, specifying the first path via the data packet among all paths capable of communicating with the transmission device,
    상기 소정의 시간이 지난 이후, 상기 신용 패킷은, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 특정된 제1 경로를 통해서만 소정의 속도로 전송되는, 신용 기반 다중경로 데이터 수신 방법.After the predetermined time, the credit packet is transmitted at a predetermined speed only through the specified first path among all paths that can communicate with the transmission device, credit-based multi-path data receiving method.
  12. 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 장치로서,A credit-based multipath data transmission device for load balancing in a data center network,
    수신 장치에게 신용 요청 패킷을 전송하는 통신부; 및A communication unit transmitting a credit request packet to a receiving device; And
    상기 신용 요청 패킷에 대한 응답으로, 상기 수신 장치로부터, 상기 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제1 경로를 결정하는 제어부를 포함하고,In response to the credit request packet, a control unit for determining at least one first path from which the credit packet is received first among all paths capable of communicating with the receiving device, from the receiving device,
    상기 통신부는,The communication unit,
    상기 수신 장치로부터 상기 제1 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제1 경로를 통해 상기 수신 장치에게 데이터 패킷을 전송하고 - 상기 제1 경로를 통해 수신한 상기 신용 패킷과 상기 제1 경로를 통해 상기 수신 장치에게 전송된 상기 데이터 패킷은 일대일 대응됨 -,Whenever a credit packet is received through the first path from the receiving device, a data packet is transmitted to the receiving device through the first path in response to the credit packet-the credit received through the first path The packet and the data packet transmitted to the receiving device through the first path correspond one-to-one-,
    상기 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 상기 수신 장치에게 신용 중지 패킷을 전송하는, 신용 기반 다중경로 데이터 전송 장치.A credit-based multipath data transmission device that transmits a credit stop packet to the receiving device when there are no more residual data packets to be transmitted to the receiving device.
  13. 제12항에 있어서,The method of claim 12,
    상기 전송할 잔여 데이터 패킷이 존재하지 않는 경우, 상기 적어도 하나의 제1 경로를 통해 수신되는 신용 패킷은 드랍되는, 신용 기반 다중경로 데이터 전송 장치.When the residual data packet to be transmitted does not exist, the credit packet received through the at least one first path is dropped, the credit-based multipath data transmission device.
  14. 제12항에 있어서,The method of claim 12,
    상기 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 이상이면, 상기 제1 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제1 경로를 통해 상기 수신 장치에게 데이터 패킷이 전송되는, 신용 기반 다중경로 데이터 전송 장치.When the reception rate of the credit packet received on the at least one first path is greater than or equal to a threshold, whenever a credit packet is received through the first path, the credit packet is responded to the receiving device through the first path. A credit-based multipath data transmission device in which data packets are transmitted.
  15. 제12항에 있어서,The method of claim 12,
    상기 통신부는,The communication unit,
    상기 적어도 하나의 제1 경로 상에서 수신되는 신용 패킷의 수신율이 임계값 미만이면, 상기 수신 장치에게 경로 재설정 패킷을 전송하고,If the received rate of the credit packet received on the at least one first path is less than a threshold, transmit a route reset packet to the receiving device,
    상기 제어부는,The control unit,
    상기 경로 재설정 패킷에 대한 응답으로, 상기 수신 장치로부터, 상기 수신 장치와 통신이 가능한 모든 경로 중 신용 패킷이 가장 먼저 수신되는 적어도 하나의 제2 경로를 결정하고,In response to the route reset packet, from the receiving device, determine at least one second route from which the credit packet is first received among all routes that can communicate with the receiving device,
    상기 통신부는,The communication unit,
    상기 수신 장치로부터 상기 제2 경로를 통해 신용 패킷이 수신될 때마다, 상기 신용 패킷에 응답하여 상기 제2 경로를 통해 상기 수신 장치에게 데이터 패킷을 전송하고 - 상기 제2 경로를 통해 수신한 상기 신용 패킷과 상기 제2 경로를 통해 상기 수신 장치에게 전송된 상기 데이터 패킷은 일대일 대응됨 -,Whenever a credit packet is received through the second path from the receiving device, a data packet is transmitted to the receiving device through the second path in response to the credit packet-the credit received through the second path The packet and the data packet transmitted to the receiving device through the second path correspond one-to-one-,
    상기 수신 장치에게 전송할 잔여 데이터 패킷이 더 이상 존재하지 않는 경우, 상기 수신 장치에게 신용 중지 패킷을 전송하는, 신용 기반 다중경로 데이터 전송 장치.A credit-based multipath data transmission device that transmits a credit stop packet to the receiving device when there are no more residual data packets to be transmitted to the receiving device.
  16. 제12항에 있어서,The method of claim 12,
    상기 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고,The data center uses a fat-tree topology,
    상기 통신부는,The communication unit,
    상기 신용 패킷과 함께, 상기 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 상기 신용 패킷이 경유한 스위치의 식별 정보를 수신하고,Along with the credit packet, the identification information of the switch via the credit packet among the switches of the plurality of top layers of the fattree topology is received,
    상기 제어부는,The control unit,
    상기 신용 패킷이 경유한 스위치의 식별 정보에 기초하여, 상기 수신 장치와 통신이 가능한 모든 경로 중 상기 신용 패킷이 경유한 상기 제1 경로를 특정하고,Based on the identification information of the switch via the credit packet, the first path via the credit packet among all the paths that can communicate with the receiving device is specified,
    상기 데이터 패킷은 상기 특정된 제1 경로를 통해 전송되는, 신용 기반 다중경로 데이터 전송 장치.The data packet is transmitted through the specified first path, credit-based multipath data transmission device.
  17. 데이터센터 네트워크에서의 부하 균형을 위한 신용 기반 다중경로 데이터 수신 장치로서,A credit-based multipath data receiving device for load balancing in a data center network,
    전송 장치로부터, 신용 요청 패킷을 수신하고,Receiving a credit request packet from a transmitting device,
    상기 신용 요청 패킷에 응답하여, 상기 전송 장치에게, 상기 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하고,In response to the credit request packet, transmit the credit packet to the transmitting device at a predetermined rate for a predetermined time through all paths capable of communicating with the transmitting device,
    상기 전송 장치로부터, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제1 경로를 통해, 데이터 패킷을 수신하고 - 상기 제1 경로를 통해 수신한 상기 데이터 패킷은 상기 제1 경로를 통해 상기 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -,From the transmitting device, a data packet is received through at least one first path among all paths capable of communicating with the transmitting device-the data packet received through the first path is transmitted through the first path One-to-one correspondence with credit packets arriving at the device-,
    상기 소정의 시간이 지난 이후, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 데이터 패킷이 수신된 상기 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는 통신부; 및A communication unit that transmits a credit packet at a predetermined rate only through the at least one first path from which the data packet was received among all paths that can communicate with the transmission device after the predetermined time has passed; And
    상기 전송 장치로부터 신용 중지 패킷을 수신하는 경우, 신용 패킷의 전송을 중단하는 제어부When receiving a credit stop packet from the transmitting device, the control unit stops the transmission of the credit packet
    를 포함하는, 신용 기반 다중경로 데이터 수신 장치.Including, credit-based multi-path data receiving device.
  18. 제17항에 있어서,The method of claim 17,
    상기 데이터 패킷이 수신되는 상기 적어도 하나의 제1 경로의 개수가 임계값이 되면, 상기 소정의 시간이 지나기 이전이라도, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 적어도 하나의 제1 경로를 통해서만 소정의 속도로 신용 패킷이 전송되는, 신용 기반 다중경로 데이터 수신 장치.When the number of the at least one first path through which the data packet is received becomes a threshold value, even before the predetermined time passes, it is determined only through the at least one first path among all paths capable of communicating with the transmitting device. A credit-based multipath data receiving device in which credit packets are transmitted at a rate of.
  19. 제17항에 있어서,The method of claim 17,
    상기 통신부는,The communication unit,
    상기 전송 장치로부터, 경로 재설정 패킷을 수신하고,Receiving a route reset packet from the transmitting device,
    상기 경로 재설정 패킷에 응답하여, 상기 전송 장치에게, 상기 전송 장치와 통신이 가능한 모든 경로를 통해 소정의 시간 동안 소정의 속도로 신용 패킷을 전송하고,In response to the route reset packet, transmit the credit packet to the transmitting device at a predetermined rate for a predetermined time through all routes capable of communicating with the transmitting device,
    상기 전송 장치로부터, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 적어도 하나의 제2 경로를 통해, 데이터 패킷을 수신하고 - 상기 제2 경로를 통해 수신한 상기 데이터 패킷은 상기 제2 경로를 통해 상기 전송 장치에 도달한 신용 패킷과 일대일 대응됨 -, 및From the transmitting device, a data packet is received through at least one second path among all paths capable of communicating with the transmitting device, and the data packet received through the second path is transmitted through the second path. One-to-one correspondence with credit packets arriving at the device-, and
    상기 소정의 시간이 지난 이후, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 적어도 하나의 제2 경로를 통해서만 소정의 속도로 신용 패킷을 전송하는, 신용 기반 다중경로 데이터 수신 장치.After the predetermined time, the credit-based multipath data receiving apparatus for transmitting a credit packet at a predetermined rate only through the at least one second path among all the paths that can communicate with the transmitting device.
  20. 제17항에 있어서,The method of claim 17,
    상기 데이터센터는 팻트리 토폴로지(fat-tree topology)를 사용하고,The data center uses a fat-tree topology,
    상기 통신부는,The communication unit,
    상기 데이터 패킷과 함께, 상기 팻트리 토폴로지의 복수의 최상위 계층의 스위치 중 상기 데이터 패킷이 경유한 스위치의 식별 정보를 수신하고,Along with the data packet, identification information of a switch via the data packet among switches of a plurality of top layers of the fattree topology is received,
    상기 제어부는,The control unit,
    상기 데이터 패킷이 경유한 스위치의 식별 정보에 기초하여, 상기 전송 장치와 통신이 가능한 모든 경로 중 상기 데이터 패킷이 경유한 상기 제1 경로를 특정하고,Based on the identification information of the switch via the data packet, the first path via the data packet is specified among all the paths that can communicate with the transmission device,
    상기 소정의 시간이 지난 이후, 상기 신용 패킷은, 상기 전송 장치와 통신이 가능한 모든 경로 중에서 상기 특정된 제1 경로를 통해서만 소정의 속도로 전송되는, 신용 기반 다중경로 데이터 수신 장치.After the predetermined time, the credit packet is transmitted at a predetermined speed only through the specified first path among all paths that can communicate with the transmission device, credit-based multi-path data receiving device.
PCT/KR2019/011805 2018-09-11 2019-09-11 Credit-based multipath data transmission method for load balancing of data center network WO2020055149A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0108093 2018-09-11
KR1020180108093A KR101932138B1 (en) 2018-09-11 2018-09-11 Credit-based multipath transmission method for datacenter network load balancing

Publications (1)

Publication Number Publication Date
WO2020055149A1 true WO2020055149A1 (en) 2020-03-19

Family

ID=65010095

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/011805 WO2020055149A1 (en) 2018-09-11 2019-09-11 Credit-based multipath data transmission method for load balancing of data center network

Country Status (2)

Country Link
KR (1) KR101932138B1 (en)
WO (1) WO2020055149A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437019A (en) * 2020-11-30 2021-03-02 中国人民解放军国防科技大学 Active transmission method based on credit packet for data center

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385223B (en) * 2018-12-28 2023-08-15 阿里巴巴集团控股有限公司 Flow control method, device, system and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130283365A1 (en) * 2002-04-23 2013-10-24 Verizon Corporate Services Group Inc. Inter-autonomous system weighstation
KR20150016309A (en) * 2012-05-11 2015-02-11 오라클 인터내셔날 코포레이션 System and method for routing traffic between distinct infiniband subnets based on fat-tree routing
KR20160115050A (en) * 2015-03-25 2016-10-06 한국전자통신연구원 OpenFlow controller and method for managing QoS of packet forwarding path in OpenFlow network
KR20180088248A (en) * 2017-01-26 2018-08-03 삼성전자주식회사 Method and appratus for data transmission of multipath transport system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130283365A1 (en) * 2002-04-23 2013-10-24 Verizon Corporate Services Group Inc. Inter-autonomous system weighstation
KR20150016309A (en) * 2012-05-11 2015-02-11 오라클 인터내셔날 코포레이션 System and method for routing traffic between distinct infiniband subnets based on fat-tree routing
KR20160115050A (en) * 2015-03-25 2016-10-06 한국전자통신연구원 OpenFlow controller and method for managing QoS of packet forwarding path in OpenFlow network
KR20180088248A (en) * 2017-01-26 2018-08-03 삼성전자주식회사 Method and appratus for data transmission of multipath transport system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
INHO CHO: "Credit-Scheduted Delay-Bounded Congestion Control for Datacenters", SIGCOMM '17 PROCEEDINGS OF THE CONFERENCE OF THE ACM SPECIAL INTEREST GROUP ON DATA COMMUNICATION, 25 August 2017 (2017-08-25), XP058370903 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437019A (en) * 2020-11-30 2021-03-02 中国人民解放军国防科技大学 Active transmission method based on credit packet for data center

Also Published As

Publication number Publication date
KR101932138B1 (en) 2018-12-24

Similar Documents

Publication Publication Date Title
US7500016B2 (en) Plug and play node addition in a dual ring topology network using discovered topology information for determining routing decisions
US5918021A (en) System and method for dynamic distribution of data packets through multiple channels
US6952397B2 (en) Communication in a bidirectional ring network with single-direction receiving
US7929543B2 (en) Packet forwarding apparatus having gateway load distribution function
JP3562769B2 (en) Method and apparatus for performing cut-through virtual circuit merging
WO2014208538A1 (en) Communication system, apparatus, method and program
JP5853378B2 (en) Communication switching system, communication switching method, and program
US6061728A (en) Arrangement for controlling network proxy device traffic on a transparently-bridged local area network using a master proxy device
WO2011087085A1 (en) Calculator, network connection switching method, and program
US20210306285A1 (en) Transfer device, transfer system, transfer method, and program
KR20040093492A (en) Methods and apparatus for in order delivery of fibre channel frames
JP2003069619A (en) Route changing method for label transfer network, label switching node, and management node
WO2006046576A1 (en) Packet communication network and packet communication method
US9736066B2 (en) Method, apparatus and system for establishing optical bypass
WO2020055149A1 (en) Credit-based multipath data transmission method for load balancing of data center network
CN106375355B (en) Load balancing processing method and device
US8135005B2 (en) Communication control system, communication control method, routing controller and router suitably used for the same
JPWO2013176262A1 (en) Packet transfer system, control device, packet transfer method and program
WO2019209076A1 (en) Method and device for mobility management by serviceusing multiprotocol label switching in sdn environment
JP2006245894A (en) Transfer path controller and transfer path control program
JPWO2005079022A1 (en) Packet communication network, route control server, route control method, packet transfer device, admission control server, optical wavelength path setting method, program, and recording medium
WO2013161409A1 (en) Layer-2 connection device, communication system, and communication method
WO2019212268A1 (en) Method and device for managing mobile node of sdn controller
US8732335B2 (en) Device communications over unnumbered interfaces
US7493410B2 (en) Method and apparatus for switched physical alternate links in a packet network

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

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

Country of ref document: EP

Kind code of ref document: A1