WO2024085572A1 - 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법 - Google Patents

서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법 Download PDF

Info

Publication number
WO2024085572A1
WO2024085572A1 PCT/KR2023/015975 KR2023015975W WO2024085572A1 WO 2024085572 A1 WO2024085572 A1 WO 2024085572A1 KR 2023015975 W KR2023015975 W KR 2023015975W WO 2024085572 A1 WO2024085572 A1 WO 2024085572A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
time
delay time
packets
core node
Prior art date
Application number
PCT/KR2023/015975
Other languages
English (en)
French (fr)
Inventor
정진우
Original Assignee
상명대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020230024451A external-priority patent/KR20240056380A/ko
Application filed by 상명대학교산학협력단 filed Critical 상명대학교산학협력단
Publication of WO2024085572A1 publication Critical patent/WO2024085572A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • 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
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]

Definitions

  • the present invention relates to a service order-preserving global completion time-based network delay time guarantee system and method. More specifically, the present invention relates to a network delay time guarantee system and method, and more specifically, to a network delay time guarantee system and method without managing flow-specific state information based on global completion time information generated by the first node. It relates to a network delay time guarantee system and method that guarantees the upper limit of network delay time by deriving the completion time of and scheduling accordingly.
  • Flows which are a set of packets with the same source and destination and belonging to the same application, are viewed as a fluid, and based on this, appropriate scheduling at the relay node provides exactly the requested service to all flows, ensuring delay time.
  • the technology has been presented since the 1990s. Delay time guarantee and flow protection are closely related. The degree of flow protection is inversely proportional to the upper latency limit. There are broadly three levels of flow protection technology.
  • the first level of technology is to limit interference between flows to the maximum packet size.
  • the upper bound of delay time at each node is proportional to the maximum packet length.
  • the complexity of managing and recording a large number of state information for each flow is a problem, so it is not applied in practice.
  • the second level of technology does not maintain detailed individual states that reflect the characteristics of the flow, but instead records only the flow's fixed requirements and service history and defines future services based on these.
  • the upper limit of delay time at each node is proportional to the sum of the maximum packet size for each flow.
  • the third level of technology is to store flows in queues organized by priority and simply service the queues by priority.
  • the upper limit of delay time is determined by the sum of the maximum burst size for each flow.
  • the maximum burst size refers to the total amount of data allowed for each flow that can be sent at once from the original source. Generally, it represents the concept of grouping a large number of packets. Therefore, the upper limit of delay time proportional to the sum of these may be difficult to accept in some cases.
  • the maximum delay time is amplified as it passes through the nodes, which may lead to a situation where the upper limit of the delay time cannot be guaranteed depending on the level of network utilization.
  • V(t) is called the virtual time function and can be calculated in various ways, such as the product of the ratio of the link capacity and the total sum of flows being serviced at real time t, or the current time. It is a value. Virtual time prevents an unfair situation in which flows are serviced at a faster rate than the allocated rate, and flows that started late have a relatively small completion time, thereby receiving priority service over existing flows for a considerable period of time.
  • F(p) represents the fairly calculated completion time of p, and services from nodes are received in descending order of this value.
  • the completion time can be calculated the moment the packet arrives at the node, and therefore can already be recorded and used within the node in the form of packet meta-data before being stored in the buffer.
  • there is a queue for each flow and the queue is managed using FIFO or PIFO, and the scheduler is implemented in a format that looks at the head of queue (HoQ) for each flow and services the queue with the smallest completion time.
  • HoQ head of queue
  • the completion time is the expected completion time when the packet is served fairly.
  • Equation 1 The core of Equation 1 is that in the worst case, that is, when all flows are activated and the link is maximally used, services are received at intervals equal to L(p)/r compared to previous packets belonging to the flow. At the same time, by using a task-conserving scheduler, unused and wasted link resources are prevented.
  • Equation 1 you must remember the F(p-1) of the flow, that is, the completion time of the previous packet. When a packet comes in, you need to find out which flow it belongs to and find out the completion time of the most recent packet of that flow.
  • the completion time F(p-1) of this latest packet is a value representing the so-called 'flow state'.
  • the need to remember and then read this state information means significant complexity for the core node that manages millions of flows, which is the main reason why this process queuing scheduler is not actually used on the Internet. It is impossible to manage millions of flow states in real time at the core node.
  • a method was proposed that does not manage the flow state information at the core node, but allows the first node to write the necessary information in the packet and modify it in the middle, so that the core node derives the flow state only from the packet state.
  • packet service start time (Eligible time) is introduced to ensure service order between packets. Accordingly, it operates in a non-work conserving manner. This can guarantee an upper limit on delay time, but has the disadvantage of significantly increasing the average delay time, so a solution is needed.
  • the technical problem that the present invention aims to achieve is a network that guarantees the upper limit of network delay time by deriving the completion time of packets from the core node of the network and scheduling accordingly without managing flow-specific status information based on the global completion time information generated by the first node. To provide a delay time guarantee system and method.
  • a service order-preserving global completion time-based network delay time guarantee system stores the arrived packets, calculates the finish time (FT) of the stored packets, and establishes a new network delay time. It includes a packet processing unit that generates metadata, a scheduling unit that extracts packets with the minimum completion time by comparing the completion times of stored packets, and a packet output unit that outputs scheduled packets through an output port.
  • the scheduling unit stores a plurality of flow sets classified according to predefined criteria in separate FIFO (First in, first out) queues, and compares the completion times of the Head of Queue (HoQ) of the plurality of FIFO queues. By doing this, the packet with the minimum completion time can be extracted.
  • FIFO First in, first out
  • the predefined criterion may be to classify flows that have the same at least one of the maximum burst size, maximum packet size, and average service rate within a preset error range.
  • the scheduling unit can extract packets with the minimum completion time using a priority queue.
  • the packet processing unit can calculate the completion time of the first incoming node by applying the fair queuing method by applying the following equation.
  • r represents the service rate assigned to the flow to which the packet (p) belongs.
  • the packet processing unit uses the following equation to determine the completion time at the core node (h) ( ) can be calculated.
  • the core node (h) and the packet represents the function of the core node (h) and the packet, and is defined as the increase in completion time calculated from the core node (h), and the core node (h) and the core node (h-1) are the nodes through which the packet (p) passes. This means that the packet (p) passes through the core node (h) immediately after passing through the core node (h-1).
  • Is and It can be decided according to predefined rules, represents the lower limit of the delay time of the packet (p) in the core node (h-1), represents the maximum delay time that a packet (p) can experience in the core node (h-1).
  • h-1 represents the maximum packet length for all flows in the core node (h-1), represents the link capacity at the core node (h-1), Li represents the maximum packet length of flow i, and r i represents the service rate assigned to flow i.
  • Is and It can be decided according to predefined rules, represents the lower limit of delay time of any packet in the core node (h-1), represents the maximum delay time that any packet can experience in the core node (h-1).
  • a network delay time guarantee method using a network delay time guarantee system includes the steps of storing an arrived packet, calculating the finish time (FT) of the stored packet, and generating new metadata; It includes extracting the packet with the minimum completion time by comparing the completion times of the stored packets, and outputting the scheduled packets through the output port.
  • FT finish time
  • the completion time derived from the first node is recorded in the packet in the form of metadata, and based on this, the packet service order can be determined by updating the completion time in a simple way without managing status information for each flow in lower nodes. there is. Accordingly, the upper limit of network delay time can be guaranteed without managing flow state information.
  • the scheduler has the characteristic of adding only the node-specific state information to the completion time at the first node and proceeding, so that the service order between packets of all flows passing through the same path may not change, It has the advantage of being able to easily find the packet with the minimum completion time by comparing only the HoQ of multiple FIFO queues or using a priority queue.
  • Figure 1 is a configuration diagram for explaining a network delay time guarantee system according to an embodiment of the present invention.
  • Figure 2 is a flowchart for explaining a method of guaranteeing network delay time using a network delay time guarantee system according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an implementation example for explaining FIG. 2.
  • Figure 4 is a diagram showing a network topology for performance comparison.
  • Figure 5 is a 3D surface plot of the maximum end-to-end latency of a Type C flow as a function of d h and utilization.
  • Figure 1 is a configuration diagram for explaining a network delay time guarantee system according to an embodiment of the present invention.
  • the network delay time guarantee system 100 includes a packet processing unit 110, a scheduling unit 120, and a packet output unit 130.
  • the packet processing unit 110 stores the arrived packet, calculates the finish time (FT) of the stored packet, and generates new metadata. Then, the packet processing unit 110 stores the generated metadata in the packet header.
  • FT finish time
  • the scheduling unit 120 extracts the packet with the minimum completion time by comparing the completion times of the stored packets.
  • the scheduling unit 120 adjusts the output order of packets using priority information and minimum completion time of packet traffic.
  • the scheduling unit 120 stores a plurality of flow sets classified according to predefined criteria in separate FIFO (First in, first out) queues, and the heads of the plurality of FIFO queues (Head of Queue, HoQ) By comparing the completion times of , the packet with the minimum completion time can be extracted.
  • the predefined criterion may be to classify flows that have the same at least one of the maximum burst size, maximum packet size, and average service rate within a preset error range.
  • the scheduling unit 120 may extract packets with the minimum completion time using a priority queue.
  • the packet output unit 130 outputs the scheduled packets through the output port.
  • FIG. 2 is a flowchart for explaining a method for guaranteeing network delay time using a network delay time guarantee system according to an embodiment of the present invention
  • FIG. 3 is a diagram illustrating an implementation example for explaining FIG. 2 .
  • the packet processing unit 110 classifies incoming packets according to traffic priority (S210).
  • the packet processing unit 110 divides all traffic into high priority traffic and low priority traffic, and classifies packets including high priority traffic and packets including low priority traffic accordingly.
  • the packet processing unit 110 derives the completion time based on the metadata included in the packet header (S220).
  • the network delay time guarantee system 100 uses completion time information calculated from the first node to derive completion times at lower nodes instead of newly deriving each completion time for each node.
  • the packet processing unit 110 derives the completion time of the current node using the completion time of the previous node and the packet function included in the metadata.
  • the packet processing unit 110 calculates the completion time of the first incoming node by applying a fair queuing method as shown in Equation 2 below.
  • r represents the service rate assigned to the flow to which the packet (p) belongs.
  • the completion time calculated at the first node is called the global finish time.
  • the packet processing unit 110 determines the completion time ( ) is calculated through Equation 3 below.
  • the core node (h) and the core node (h-1) refer to the nodes through which the packet (p) passes, and the packet (p) passes through the core node (h) immediately after passing through the core node (h-1). Meanwhile, must be a non-decreasing function between adjacent packets to prevent the service order between adjacent packets from changing.
  • the value can be implemented as the maximum delay time measured from the start of the node's busy period to the incoming packet (p).
  • Equation 2 and Equation 3 when calculating the completion time at the core node (h), and Only the value is needed, and therefore there is no need to store and manage state information for each flow in the core node. and The information for deriving can be stored and transmitted in the form of metadata in the header of the packet. Although updates are required at all nodes, sufficient time is provided as updates are allowed at appropriate times between the packet arrival and departure points.
  • Is and It is decided according to rules already defined between, represents the lower limit of the delay time of the packet (p) in the core node (h-1), represents the maximum delay time that a packet (p) can experience in the core node (h-1).
  • the core node (h-1) is a node that packet p passes through just before reaching h.
  • Equation 4 is determined according to Equation 4 below.
  • Is and It is decided according to predefined rules between, represents the lower limit of the delay time of any packet in the core node (h-1), represents the maximum delay time that any packet can experience in the core node (h-1).
  • the completion time calculated according to the above is for each node when compared to Equation 2. It is calculated without increasing it. This reflects the fact that it may be fair to assume the entire network is one node and maintain the initially set distance between packets.
  • the service order between all packets on the same path can be minimized from changing in the middle of the path.
  • completion time-based scheduling which previously required a complex sorting algorithm, can be implemented by comparing only the HoQ of multiple FIFO queues or using a priority queue to identify the packet with the minimum completion time among all stored packets.
  • the completion time determined and calculated ( )silver Depending on the value of , it can affect the fairness between flows that arrive at the core node through different paths. Therefore, in order to resolve this must be satisfied.
  • the completion time F of the flows is linked to the virtual time t to ensure fairness between flows.
  • the upper limit of delay time guaranteed for packet (p) at node (h-1) ( ) should be the same as That is, the upper limit of delay time satisfies Equation 5 below.
  • the packet processing unit 110 stores the calculated completion time in the header of the packet in the form of metadata.
  • step S220 the scheduling unit 120 extracts the packet with the minimum completion time using the completion time stored in the packet header and schedules the extracted packet as priority (S230).
  • the scheduling unit 120 adjusts the output order of packets using priority information and minimum completion time of packet traffic.
  • the packet output unit 130 controls the interval between transmitted packets and outputs packets through the output port (S240).
  • the packet output unit 130 receives packets output from the scheduler queue according to the scheduling result in the scheduling unit 120 and outputs them to the output port.
  • Figure 4 is a diagram showing a network topology for performance comparison
  • Figure 5 is a 3D surface diagram of the maximum end-to-end delay time of a Type C flow according to d h and utilization.
  • nodes 1, 2, 3, 13, 14, and 15 are entrance nodes directly connected to the source, and the rest are core nodes. Since there is a queue for each input port at the output port of the core node, there are two queues at the output port. These queues operate on a PIFO basis unless otherwise specified. When packets are added to the queue, they are sorted according to their completion time. The ingress node maintains the state of each flow and the FIFO queue of each flow. The link capacity of all links in the topology is 1 Gbps. In Figure 4, the arrow indicates the flow direction.
  • the source creates one flow for each destination, resulting in 36 flows across the network.
  • Table 1 and Table 2 below show the characteristics of the three different flow types used in the simulation.
  • the flow type is determined depending on the flow's destination. For example, all flows destined for node 1 are of type A. There are 6 flows for each destination, and 12 flows for each type.
  • flow types may be classified according to at least one of maximum burst size, maximum packet size, and average service rate. Specifically, flows with the same at least one of the maximum burst size, maximum packet size, and average service rate may be classified into the same flow within a preset error range.
  • a flow generates packets of various lengths from 1K to 10Kbit in 1Kbit increments.
  • each plane represents the maximum, average, and minimum observed end-to-end delay times.
  • the maximum end-to-end delay time also increases. This is because, among the same type, flows with a higher number of hops determine the maximum end-to-end delay time. Since d h is a fixed value, the completion time for packets with many hops increases, resulting in more delays regardless of the route. This effect can also be observed between different types of flows. This symptom occurs when usage is high. The larger it is, the more clearly it is observed.
  • the packet generated first has the advantage. Packets that travel more hops have an advantage in completion time compared to packets that travel fewer hops.
  • the delay time guarantee system records the completion time derived from the first node in the form of metadata in the packet, and based on this, updates the completion time in a simple way without managing status information for each flow in lower nodes to schedule packets. You can decide the order.
  • the scheduler proceeds by adding only the node's own state information to the completion time at the first node, so the service order between packets of all flows passing through the same path may not change. Therefore, it has the advantage of being able to easily find the packet with the minimum completion time by comparing only the HoQ of multiple FIFO queues or using a priority queue.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법에 관한 것이다. 본 발명에 따르면, 네트워크 지연시간 보장 시스템은 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 패킷 처리부, 저장된 패킷들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출하는 스케줄링부, 그리고 스케줄링된 패킷들을 출력 포트를 통해 출력시키는 패킷 출력부를 포함한다.

Description

서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법
본 발명은 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법에 관한 것으로, 더욱 상세하게는 최초 노드에서 생성한 전역 완료시간 정보에 기반하여 플로우 별 상태 정보 관리 없이 네트워크의 코어 노드에서 패킷의 완료시간을 도출하고 이에 따라 스케줄링 함으로써 네트워크 지연시간 상한을 보장하는 네트워크 지연시간 보장 시스템 및 방법에 관한 것이다.
발신지와 목적지가 동일한, 같은 응용에 속하는 패킷들의 집합인 플로우를 유체(fluid)로 보고 이를 바탕으로 중계 노드에서의 적절한 스케줄링으로 모든 플로우들에게 정확하게 요구한 만큼의 서비스를 제공해주어 지연시간을 보장하는 기술이 1990년대부터 제시됐다. 지연시간 보장과 플로우 보호(protection)는 밀접한 관계가 있다. 플로우 보호의 정도는 지연시간 상한과 반비례한다. 크게 세 가지 수준의 플로우 보호 기술이 존재한다.
첫 번째 수준의 기술은 패킷 크기의 최대치 수준으로 플로우 간의 간섭을 제한하는 기술이다. 이러한 기술을 적용하면 각 노드에서의 지연시간 상한(upper bound)이 최대 패킷 길이와 비례한다. 하지만 이를 위해 많은 수의 플로우 별 상태 정보를 관리하고 기록하는 복잡성이 문제가 되어 실제로는 적용되지 않고 있다.
두 번째 수준의 기술은 플로우의 특성을 반영한 자세한 개별적 상태는 유지하지 않고, 대신 플로우의 고정적인 요구사항과 서비스 이력 정도만 기록하여 이를 바탕으로 앞으로의 서비스를 규정한다. 이러한 기술을 적용한 경우 각 노드에서의 지연시간 상한이 플로우 별 최대 패킷 크기의 합에 비례한다.
세 번째 수준의 기술은 플로우들을 우선순위 별로 묶은 큐에 저장하고 단순하게 우선순위 별로 큐를 서비스하는 것이다. 이러한 기술을 적용한 경우 지연시간 상한은 플로우 별 최대 버스트 크기의 총합으로 결정된다. 최대 버스트 크기는 플로우 별로 허용된, 최초 발신지에서 한 번에 보낼 수 있는 데이터의 총량을 의미한다. 일반적으로 많은 수의 패킷을 묶은 개념을 나타낸다. 따라서 이들의 총합에 비례하는 지연시간 상한은 경우에 따라 수용하기 어려운 수준일 수 있다. 더구나 이러한 기술을 적용한 네트워크에서는 네트워크 토폴로지 상에 순환이 존재하는 경우, 최대 지연시간이 노드를 거침에 따라 증폭되어 네트워크 사용률 수준에 따라 지연시간 상한을 보장할 수 없는 상황이 발생할 수 있다.
따라서 가장 성능이 우수한 첫 번째 수준의 기술을 인터넷에 적용하는 방안이 연구되어 왔다. Generalized processor sharing(GPS)은 유체로써의 플로우에 대한 공평한 서비스에 관한 패러다임을 제시했고, 이를 패킷 환경에서 구현한 Packetized GPS(PGPS, 혹은 Weighted fair queuing)는 이러한 유형의 패킷 기반 스케줄러들의 선구적 역할을 하였다. 이들을 묶어서 공정 큐잉(Fair queuing) 스케줄러라 통칭한다. 공정 큐잉은 하기의 수학식 1로 도출된 완료시간(Finish time)의 오름차순으로 패킷의 서비스 순서를 결정한다.
Figure PCTKR2023015975-appb-img-000001
여기서, p는 플로우의 p번째 패킷, A(p)는 패킷 p가 노드에 도착한 시간, L(p)는 p의 길이, r은 p가 속한 플로우에 할당된 서비스 속도(service rate)를 의미한다. V(t)는 가상 시간 함수(virtual time function)라고 부르며 실제 시간 t에, 서비스 받고 있는 플로우들의 r의 총합과 링크 용량(link capacity)의 비율의 곱, 혹은 현재 시간 등 다양한 방법으로 산출할 수 있는 값이다. 가상 시간(Virtual time)은 플로우가 할당 받은 속도보다 빠른 속도로 서비스 받는 상황에서, 뒤늦게 시작된 플로우들이 상대적으로 작은 완료시간을 가짐으로써 기존 플로우들보다 상당기간 우선적으로 서비스 받는 불공평한 상황을 막아준다. F(p)는 p의 공정하게 산출한 완료시간을 나타내며 이 값이 작은 순서대로 노드의 서비스를 받는다. 완료시간은 패킷이 노드에 도착한 순간 계산할 수 있으며, 따라서 버퍼에 저장하기 이전에 이미 패킷의 메타 데이터(meta-data) 형태로 노드 내에서 기록하여 사용할 수 있다. 일반적으로 플로우별 큐를 두고, 해당 큐는 FIFO 혹은 PIFO로 관리하며, 스케줄러는 플로우 별 큐의 헤드(head of queue, HoQ)를 살펴보아 가장 작은 완료시간을 가진 큐를 서비스하는 형식으로 구현된다. 혹은 하나의 큐에 모든 패킷을 넣고 완료시간의 값에 따라 큐의 중간에 끼워 넣는 방법도 가능하다. 완료시간이란, 해당 패킷이 공정하게 서비스 받았을 경우에 예상되는 완료 시점이다. 수학식 1의 핵심은, 최악의 경우 즉 모든 플로우들이 활성화되어 링크가 최대로 사용되는 경우, 플로우에 속한 이전 패킷 대비 L(p)/r만큼의 간격으로 서비스를 받게 한다는 것이다. 그러면서 동시에 작업 보존형 스케줄러를 사용함으로써 사용되지 않고 낭비되는 링크 자원(link resource)은 없도록 방지하고 있다.
수학식 1을 구하기 위해 플로우의 F(p-1), 즉 이전 패킷의 완료시간을 기억하고 있어야 한다. 패킷이 인입되면 어떤 플로우에 속하는지 찾아내어 해당 플로우의 최근 패킷의 완료시간을 알아내어야 한다. 이 최근 패킷의 완료시간 F(p-1)이 소위 말하는 '플로우 상태'를 대표하는 값이다. 이러한 상태 정보를 기억하고 있다가 읽어야 하는 점이 수백만 개의 플로우를 관리하는 코어 노드 입장에서 상당한 복잡도를 의미하여, 인터넷에서 이러한 공정 큐잉 스케줄러가 실제로는 사용되지 않는 가장 주요한 이유가 되었다. 수백만 개에 이르는 플로우 상태를 실시간으로 코어 노드에서 관리하는 것은 불가능하다.
이의 해결을 위해 플로우의 상태 정보를 코어 노드에서 관리하지 않고 최초 노드에서 패킷에 필요한 정보를 기재하고 이를 중간에 수정할 수 있게 하여, 코어 노드에서 플로우 상태를 패킷 상태만으로 도출하도록 하는 방안이 제시되었다.
하지만 기존의 연구는 매 노드에서 패킷의 서비스에 필요한 시간 정보를 완료시간에 반영하려고 하여, 같은 플로우 내 크기가 다른 패킷들의 서비스 순서가 뒤바뀔 가능성을 내포한다.
이를 방지하기 위해 패킷의 서비스 시작 가능 시간(Eligible time)이라는 개념을 도입하여 패킷 간 서비스 순서를 보장한다. 이에 따라 비 작업보존방식(non work conserving)으로 동작한다. 이는 지연시간 상한을 보장할 수 있으나, 평균 지연시간이 많이 늘어난다는 단점이 있어서 이에 대한 해결책이 필요하다.
한편, 이러한 패킷 관련 정보를 패킷 헤더에 기재하고 이를 매 노드에서 수정하는 방안은 복잡성으로 인해 그 동안 인터넷 표준으로 받아들여지지 않았다.
본 발명이 이루고자 하는 기술적 과제는 최초 노드에서 생성한 전역 완료시간 정보에 기반하여 플로우 별 상태 정보 관리 없이 네트워크의 코어 노드에서 패킷의 완료시간을 도출하고 이에 따라 스케줄링 함으로써 네트워크 지연시간 상한을 보장하는 네트워크 지연시간 보장 시스템 및 방법을 제공하는 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 실시예에 따르면, 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템은 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 패킷 처리부, 저장된 패킷들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출하는 스케줄링부, 그리고 스케줄링된 패킷들을 출력 포트를 통해 출력시키는 패킷 출력부를 포함한다.
상기 스케줄링부는 기 정의된 기준에 따라 분류된 복수의 플로우 집합을 각각 별도의 FIFO (First in, first out) 큐에 저장하고, 복수의 FIFO 큐들의 헤드 (Head of Queue, HoQ)의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출할 수 있다.
여기서, 상기 기 정의된 기준은, 최대 버스트 크기, 최대 패킷 크기 및 평균 서비스 속도(service rate) 중 적어도 하나가 기 설정된 오차 범위 내에서 동일한 플로우들끼리 분류하는 것일 수 있다.
상기 스케줄링부는 우선순위 큐(Priority Queue)를 이용해서 최소 완료시간을 가진 패킷을 추출할 수 있다.
상기 패킷 처리부는, 공정 큐잉(Fair queuing) 방식을 적용하여 최초로 인입하는 노드의 완료시간을 하기의 수학식에 적용하여 산출할 수 있다.
Figure PCTKR2023015975-appb-img-000002
여기서,
Figure PCTKR2023015975-appb-img-000003
는 패킷(p)이 최초의 노드(0)에 인입하는 시점에서 산출된 완료 시점이며,
Figure PCTKR2023015975-appb-img-000004
는 패킷(p)이 최초의 노드(0)에 인입하는 시점의 실제 시간 또는 가상 시간을 나타내고,
Figure PCTKR2023015975-appb-img-000005
는 패킷(p)의 길이를 나타내고, r은 패킷(p)가 속한 플로우에 할당된 서비스 속도(rate)를 의미한다.
상기 패킷 처리부는, 하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간(
Figure PCTKR2023015975-appb-img-000006
)을 산출할 수 있다.
Figure PCTKR2023015975-appb-img-000007
여기서,
Figure PCTKR2023015975-appb-img-000008
는 코어 노드(h)와 패킷의 함수를 나타내고, 코어 노드(h)에서 산출한 완료시간 증가분으로 정의되며, 코어 노드(h)와 코어 노드(h-1)는 패킷(p)이 경유하는 노드를 의미하며 패킷(p)은 코어 노드(h-1)를 경유한 직후 코어 노드(h)를 경유한다.
또한,
Figure PCTKR2023015975-appb-img-000009
Figure PCTKR2023015975-appb-img-000010
Figure PCTKR2023015975-appb-img-000011
사이에서 기 정의된 규칙에 따라 결정될 수 있고,
Figure PCTKR2023015975-appb-img-000012
는 코어 노드(h-1)에서의 패킷(p)의 지연시간 하한을 나타내고,
Figure PCTKR2023015975-appb-img-000013
는 코어 노드(h-1)에서 패킷(p)이 겪을 수 있는 최대 지연시간을 나타낸다.
또한,
Figure PCTKR2023015975-appb-img-000014
는 하기의 수학식에 따라 결정될 수 있다.
Figure PCTKR2023015975-appb-img-000015
여기서,
Figure PCTKR2023015975-appb-img-000016
는 코어 노드(h-1)에서의 모든 플로우에 대한 최대 패킷 길이를 나타내고,
Figure PCTKR2023015975-appb-img-000017
는 코어 노드(h-1)에서의 링크 용량을 나타내며, Li는 플로우 i의 최대 패킷 길이를 나타내고, ri는 플로우 i에 할당된 서비스 속도(rate)를 나타낸다.
한편,
Figure PCTKR2023015975-appb-img-000018
Figure PCTKR2023015975-appb-img-000019
Figure PCTKR2023015975-appb-img-000020
사이에서 기 정의된 규칙에 따라 결정될 수 있고,
Figure PCTKR2023015975-appb-img-000021
는 코어 노드(h-1)에서의 임의의 패킷의 지연시간 하한을 나타내고,
Figure PCTKR2023015975-appb-img-000022
는 코어 노드(h-1)에서 임의의 패킷이 겪을 수 있는 최대 지연시간을 나타낸다.
본 발명의 실시예에 따르면, 네트워크 지연시간 보장 시스템을 이용한 네트워크 지연시간 보장 방법은 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 단계, 저장된 패킷들의 완료시간을 비교 함으로써 최소 완료시간을 가진 패킷을 추출하는 단계, 그리고 스케줄링된 패킷들을 출력 포트를 통해 출력시키는 단계를 포함한다.
이와 같이 본 발명에 따르면, 최초 노드에서 도출한 완료시간을 패킷에 메타 데이터 형태로 기록하여 이를 바탕으로 하위 노드들에서 플로우 별 상태 정보 관리 없이 간단한 방법으로 완료시간을 업데이트하여 패킷 서비스 순서를 결정할 수 있다. 이에 따라 플로우 상태 정보의 관리 없이 네트워크 지연시간 상한을 보장할 수 있다.
또한, 본 발명에 따르면, 스케줄러는 최초 노드에서의 완료시간에 노드 고유의 상태 정보만을 더해서 진행해 나가는 특성으로 인해, 같은 경로를 지나가는 모든 플로우의 패킷 간 서비스 순서가 바뀌지 않을 수 있는 특성을 가지므로, 복수의 FIFO큐들의 HoQ만을 비교함으로써 혹은 우선순위 큐를 이용해서 최소 완료시간을 가진 패킷을 손쉽게 찾아 낼 수 있다는 장점을 가진다.
도 1은 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템을 이용한 네트워크 지연시간 보장 방법을 설명하기 위한 순서도이다.
도 3은 도 2를 설명하기 위한 일 구현예를 도시하는 도면이다.
도 4는 성능 비교를 위한 네트워크 토폴로지를 나타내는 도면이다.
도 5는 dh 및 사용률에 따른 유형 C 플로우의 최대 단대단 지연 시간에 대한 3D 표면도이다.
<부호의 설명>
100 : 지연시간 보장 시스템
110 : 패킷 처리부
120 : 스케줄링부
130 : 패킷 출력부
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
이하에서는 도 1을 이용하여 본 발명의 실시예에 따른 지연시간 보장 시스템에 대해 더욱 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템을 설명하기 위한 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템(100)은 패킷 처리부(110), 스케줄링부(120) 및 패킷 출력부(130)를 포함한다.
먼저, 패킷 처리부(110)는 도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성한다. 그리고 패킷 처리부(110)는 생성된 메타 데이터를 패킷의 헤더에 저장한다.
스케줄링부(120)는 저장된 패킷들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출한다. 스케줄링부(120)는 패킷 트래픽의 우선순위 정보 및 최소 완료시간을 이용하여 패킷들의 출력 순서를 조정한다.
여기서, 스케줄링부(120)는 기 정의된 기준에 따라 분류된 복수의 플로우 집합을 각각 별도의 FIFO (First in, first out) 큐에 저장하고, 복수의 FIFO 큐들의 헤드 (Head of Queue, HoQ)의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출할 수 있다. 이때, 기 정의된 기준은, 최대 버스트 크기, 최대 패킷 크기 및 평균 서비스 속도(service rate) 중 적어도 하나가 기 설정된 오차 범위 내에서 동일한 플로우들끼리 분류하는 것일 수 있다.
혹은, 스케줄링부(120)는 우선순위 큐(Priority Queue)를 이용해서 최소 완료시간을 가진 패킷을 추출할 수 있다.
마지막으로 패킷 출력부(130)는 스케줄링된 패킷들을 출력 포트를 통해 출력시킨다.
이하에서는 도 2 내지 도 3을 이용하여 본 발명의 실시예에 따른 지연시간 보장 시스템을 이용한 지연시간 보장 방법에 대해 더욱 상세하게 설명한다.
도 2는 본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템을 이용한 네트워크 지연시간 보장 방법을 설명하기 위한 순서도이고, 도 3은 도 2를 설명하기 위한 일 구현예를 도시하는 도면이다.
도 2 및 도 3에 도시된 바와 같이, 패킷 처리부(110)는 인입되는 패킷들을 트래픽의 우선순위에 따라 분류한다(S210).
패킷 처리부(110)는 모든 트래픽을 높은 우선순위와 낮은 우선순위의 트래픽으로 구분하고, 이에 따라 높은 우선순위 트래픽을 포함한 패킷과 낮은 우선순위 트래픽을 포함한 패킷을 분류한다.
그 다음, 패킷 처리부(110)는 패킷의 헤더에 포함된 메타데이터를 기초로 완료시간을 도출한다(S220).
본 발명의 실시예에 따른 네트워크 지연시간 보장 시스템(100)은 각 노드마다 새롭게 각각의 완료시간을 도출하는 대신 최초 노드에서 산출된 완료시간 정보를 이용하여 하위 노드에서의 완료시간을 도출한다.
따라서, 패킷 처리부(110)는 메타데이터에 포함된 이전 노드의 완료시간과 패킷의 함수를 이용하여 현재 노드의 완료시간을 도출한다.
이를 다시 설명하면, 패킷 처리부(110)는 하기의 수학식 2와 같이 공정 큐잉(Fair queuing) 방식을 적용하여 최초로 인입하는 노드의 완료시간을 산출한다.
Figure PCTKR2023015975-appb-img-000023
여기서,
Figure PCTKR2023015975-appb-img-000024
는 패킷(p)이 최초의 노드(0)에 인입하는 시점에서 산출된 완료 시점이며,
Figure PCTKR2023015975-appb-img-000025
는 패킷(p)이 최초의 노드(0)에 인입하는 시점의 실제 시간 또는 가상 시간을 나타내고,
Figure PCTKR2023015975-appb-img-000026
는 패킷(p)의 길이를 나타내고, r은 패킷(p)가 속한 플로우에 할당된 서비스 속도(rate)를 의미한다.
한편, 본 발명의 실시예에서는 최초의 노드에서 산출되는 완료시간을 전역 완료시간 (global finish time)이라고 한다.
그리고, 패킷 처리부(110)는 코어 노드(h) 에서의 완료시간(
Figure PCTKR2023015975-appb-img-000027
)을 하기의 수학식 3을 통해 산출한다.
Figure PCTKR2023015975-appb-img-000028
여기서,
Figure PCTKR2023015975-appb-img-000029
는 노드(h)와 패킷의 함수를 나타내는 것으로서, 코어 노드(h)에서 산출한 완료시간 증가분으로 정의될 수 있다. 코어 노드(h)와 코어 노드(h-1)는 패킷(p)이 경유하는 노드를 의미하며 패킷(p)은 코어 노드(h-1)를 경유한 직후 코어 노드(h)를 경유한다. 한편,
Figure PCTKR2023015975-appb-img-000030
는 서로 인접 한 패킷들 간에는 비내림차순(non-decreasing) 함수이어야 하며, 이는 인접한 패킷 간 서비스 순서가 바뀌지 않도록 하기 위함이다. 일 실시예에 따르면,
Figure PCTKR2023015975-appb-img-000031
값을 노드의 전가동 시간(busy period)의 시작 시점부터 패킷(p)의 인입 시점까지 측정된 최대지연시간으로 구현할 수 있다.
상술한 수학식 2 및 수학식 3을 이용하면, 코어 노드 (h)에서 완료시간을 계산할 때,
Figure PCTKR2023015975-appb-img-000032
Figure PCTKR2023015975-appb-img-000033
값만이 필요하며, 따라서 코어 노드에서의 플로우 별 상태 정보의 저장 및 관리가 필요하지 않다.
Figure PCTKR2023015975-appb-img-000034
Figure PCTKR2023015975-appb-img-000035
를 도출하기 위한 정보는 패킷의 헤더에 메타 데이터 형태로 저장해서 전달될 수 있다. 모든 노드에서 업데이트가 필요하지만, 패킷의 도착 시점과 이탈 (departure) 시점 사이의 적당한 시각에 업데이트가 허용되므로 충분한 시간이 주어진다.
또한, 일 실시예에 따르면,
Figure PCTKR2023015975-appb-img-000036
Figure PCTKR2023015975-appb-img-000037
Figure PCTKR2023015975-appb-img-000038
사이에서 기 정의된 규칙에 따라 결정되고,
Figure PCTKR2023015975-appb-img-000039
는 코어 노드(h-1)에서의 패킷(p)의 지연시간 하한을 나타내고,
Figure PCTKR2023015975-appb-img-000040
는 코어 노드(h-1)에서 패킷(p)이 겪을 수 있는 최대 지연시간을 나타낸다.
코어 노드(h-1)은 패킷 p가 h에 도달하기 직전에 거치는 노드이다.
일 실시예에 따르면,
Figure PCTKR2023015975-appb-img-000041
는 하기의 수학식 4에 따라 결정된다.
Figure PCTKR2023015975-appb-img-000042
여기서,
Figure PCTKR2023015975-appb-img-000043
는 코어 노드(h-1)에서의 모든 플로우에 대한 최대 패킷 길이를 나타내고,
Figure PCTKR2023015975-appb-img-000044
는 코어 노드(h-1)에서의 링크 용량을 나타낸다. 또한, Li는 플로우 i의 최대 패킷 길이를 나타내고, ri는 플로우 i에 할당된 서비스 속도(rate)를 나타낸다.
다른 실시예에 따르면,
Figure PCTKR2023015975-appb-img-000045
Figure PCTKR2023015975-appb-img-000046
Figure PCTKR2023015975-appb-img-000047
사이에서 기 정의된 규칙에 따라 결정되고,
Figure PCTKR2023015975-appb-img-000048
는 코어 노드(h-1)에서의 임의의 패킷의 지연시간 하한을 나타내고,
Figure PCTKR2023015975-appb-img-000049
는 코어 노드(h-1)에서 임의의 패킷이 겪을 수 있는 최대 지연시간을 나타낸다.
상술한 바에 따라 산출되는 완료시간은 수학식 2와 비교하였을 때 매 노드마다
Figure PCTKR2023015975-appb-img-000050
만큼 증가시키지 않은 상태로 산출된다. 이는 전체 네트워크를 하나의 노드로 가정하고, 최초 설정한 패킷 간 거리를 유지하는 것이 공평할 수 있다는 점을 반영하는 것이다.
상술한 바와 같은 본 발명의 실시예에 따르면, 같은 경로의 모든 패킷 간 서비스 순서가 경로 중간에 바뀌는 일을 최소화할 수 있다. 또한, 기존의 복잡한 정렬 알고리즘이 필요했던 완료시간 기준 스케줄링을, 복수의 FIFO큐들의 HoQ만을 비교함으로써 혹은 우선순위 큐를 이용해서 전체 저장된 패킷 중 최소 완료시간을 가진 패킷을 알아내는 것으로 구현할 수 있다. 이러한 간단한 스케줄러의 구성으로 코어 노드에서의 확장성을 확보할 수 있다.
한편,
Figure PCTKR2023015975-appb-img-000051
Figure PCTKR2023015975-appb-img-000052
로 결정하고 산출한 완료시간(
Figure PCTKR2023015975-appb-img-000053
)은
Figure PCTKR2023015975-appb-img-000054
의 값에 따라 다른 경로로 코어 노드에 도착한 플로우들간의 형평성에 영향을 줄 수 있다. 따라서, 이를 해소하기 위해
Figure PCTKR2023015975-appb-img-000055
를 만족해야 한다. 즉 플로우들의 완료 시간 F를 가상 시간 t에 연동하여 플로우 간 형평성을 보장한다.
본 발명의 실시예에서는,
Figure PCTKR2023015975-appb-img-000056
는 노드(h-1)에서 패킷(p)에 대해서 보장하는 지연시간 상한(
Figure PCTKR2023015975-appb-img-000057
)과 동일해야 한다. 즉, 지연시간 상한은 하기의 수학식 5를 만족한다.
Figure PCTKR2023015975-appb-img-000058
상기와 같이 완료시간에 대한 산출이 완료되면, 패킷 처리부(110)는 산출된 완료시간은 메타 데이터 형식으로 패킷의 헤더에 저장한다.
S220 단계가 완료되면, 스케줄링부(120)는 패킷의 헤더에 저장된 완료시간을 이용하여 최소 완료시간을 가진 패킷을 추출하고, 추출된 패킷을 우선순위로 하여 스케줄링 한다(S230).
즉, 스케줄링부(120)는 패킷 트래픽의 우선순위 정보 및 최소 완료 시간을 이용하여 패킷들의 출력 순서를 조정한다.
마지막으로 패킷 출력부(130)는 전송받은 패킷 사이의 간격을 제어하며 출력 포트를 통해 패킷을 출력한다(S240).
즉, 패킷 출력부(130)는 스케줄링부(120)에서의 스케줄링 결과에 따라 스케줄러 큐로부터 출력된 패킷들을 입력받아 출력 포트로 출력한다.
이하에서는 도 4 및 도 5를 이용하여 본 발명의 네트워크 지연시간 보장 시스템의 성능 비교 결과에 대해 더욱 상세하게 설명한다.
도 4는 성능 비교를 위한 네트워크 토폴로지를 나타내는 도면이고, 도 5는 dh 및 사용률에 따른 유형 C 플로우의 최대 단대단 지연 시간에 대한 3D 표면도이다.
먼저, 도 4에 도시된 바와 같이, 노드 1, 2, 3, 13, 14 및 15는 소스에 직접 연결된 입구 노드(entrance node)이고, 나머지는 코어 노드이다. 코어 노드의 출력 포트에 입력 포트별 큐가 있으므로 출력 포트에는 2개의 큐가 있다. 이러한 큐들은 별도로 지정하지 않는 한 PIFO 기반으로 작동한다. 패킷은 큐에 추가될 때 해당 완료시간에 따라 정렬된다. 입구 노드는 각 플로우의 상태와 각 플로우의 FIFO 큐를 유지한다. 토폴로지에 있는 모든 링크의 링크 용량은 1Gbps이다. 도 4에서 화살표는 플로우 방향을 나타낸다.
소스는 각 목적지에 대해 하나의 플로우를 생성하여, 네트워크 전체에 걸쳐 36개의 플로우가 생성된다. 아래의 표 1 및 표 2는 시뮬레이션에 사용된 세 가지 다른 플로우 유형의 특성을 나타낸다. 플로우의 목적지에 따라 플로우 유형이 결정된다. 예를 들어, 노드 1로 향하는 모든 플로우는 유형 A이다. 각 목적지에는 6개의 플로우가 있고, 각 유형마다 12개의 플로우가 있다. 여기서, 플로우 유형은 최대 버스트 크기, 최대 패킷 크기 및 평균 서비스 속도(service rate) 중 적어도 하나에 따라 분류될 수 있다. 구체적으로, 최대 버스트 크기, 최대 패킷 크기 및 평균 서비스 속도(service rate) 중 적어도 하나가 기 설정된 오차 범위 내에서 동일한 플로우들끼리 분류될 수 있다. 플로우는 1Kbit 단위로 1K에서 10Kbit까지 다양한 길이의 패킷을 생성한다.
플로우 유형 최대 버스트 크기 패킷 크기 목적지
A 200Kbit 1K-10Kbit 1, 6
B 200Kbit 1K-10Kbit 3, 4
C 20Kbit 1K, 2Kbit 2, 5
피크 입력 속도(Mbps)
사용률 A B C
70% 9.857 98.571 98.571
75% 10.571 105.714 105.714
80% 11.262 112.619 112.619
85% 11.976 119.762 119.762
90% 12.667 126.667 126.667
95% 13.381 133.81 133.81
각 플로우 유형에서 관찰된 최대 단대단 지연 시간을 비교해 본다. 동일한 플로우 유형 내에서 가장 긴 경로를 가진 플로우가 관심 대상이다. 표 3은 각 플로우 유형에 대해 가장 긴 경로를 갖는 플로우 경로를 보여준다. 모든 플로우 유형에 대해 가장 긴 경로의 홉 수는 동일하다. 각 경로의 사용률은 링크마다 다를 수 있다.
플로우 유형 가장 긴 경로
A Src5-14-11-10-7-8-5-4-Dst1
Src2-2-5-6-9-8-11-12-Dst6
B Src5-14-11-10-7-8-5-6-Dst4
Src2-2-5-6-9-8-11-10-Dst3
C Src3-3-6-9-8-5-4-7-Dst2
Src6-15-12-9-8-5-4-7-Dst2
Src1-1-4-7-8-11-12-9-Dst5
Src4-13-19-7-8-11-12-9-Dst5
이 시뮬레이션에서
Figure PCTKR2023015975-appb-img-000059
는 모든 노드에 대해 동일하다. 도 6에서 각 평면은 관찰된 최대 단대단 지연 시간의 최대, 평균, 최소를 나타낸다.
Figure PCTKR2023015975-appb-img-000060
가 증가하면 최대 단대단 지연시간도 증가한다. 이는 동일한 유형 중에서 홉 수가 많은 플로우가 최대 단대단 지연 시간을 결정하기 때문이다. dh는 고정된 값이므로 홉이 많은 패킷의 완료시간이 커지므로 경로에 관계없이 지연이 더 많이 발생한다. 또한 이러한 효과는 다양한 유형의 플로우 사이에서 관찰될 수 있다. 사용률이 높을 때 이 증상은
Figure PCTKR2023015975-appb-img-000061
가 클수록 더 명확하게 관찰된다.
Figure PCTKR2023015975-appb-img-000062
가 0일 때, 즉
Figure PCTKR2023015975-appb-img-000063
가 최소값일 때, 먼저 생성된 패킷이 유리하다. 더 많은 홉을 이동한 패킷의 완료시간은 더 적은 홉을 이동한 패킷에 비해 이점을 얻는다.
이와 같이 본 발명에 따른 지연시간 보장 시스템은 최초 노드에서 도출한 완료시간을 패킷에 메타 데이터 형태로 기록하여 이를 바탕으로 하위 노드들에서 플로우 별 상태 정보 관리 없이 간단한 방법으로 완료시간을 업데이트하여 패킷 스케줄 순서를 결정할 수 있다.
또한, 본 발명에 따른 지연시간 보장 시스템은 스케줄러는 최초 노드에서의 완료시간에 노드 고유의 상태 정보만을 더해서 진행해 나가는 특성으로 인해, 같은 경로를 지나가는 모든 플로우의 패킷 간 서비스 순서가 바뀌지 않을 수 있는 특성을 가지므로, 복수의 FIFO큐들의 HoQ만을 비교함으로써 혹은 우선순위 큐를 이용해서 최소 완료시간을 가진 패킷을 손쉽게 찾아 낼 수 있다는 장점을 가진다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (10)

  1. 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템에 있어서,
    도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 패킷 처리부,
    저장된 패킷들의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출하는 스케줄링부, 그리고
    스케줄링된 패킷들을 출력 포트를 통해 출력시키는 패킷 출력부를 포함하는 네트워크 지연시간 보장 시스템.
  2. 제 1 항에 있어서,
    상기 스케줄링부는 기 정의된 기준에 따라 분류된 복수의 플로우 집합을 각각 별도의 FIFO (First in, first out) 큐에 저장하고, 복수의 FIFO 큐들의 헤드 (Head of Queue, HoQ)의 완료시간을 비교함으로써 최소 완료시간을 가진 패킷을 추출하는 네트워크 지연시간 보장 시스템.
  3. 제 2 항에 있어서,
    상기 기 정의된 기준은,
    최대 버스트 크기, 최대 패킷 크기 및 평균 서비스 속도(service rate) 중 적어도 하나가 기 설정된 오차 범위 내에서 동일한 플로우들끼리 분류하는 네트워크 지연시간 보장 시스템.
  4. 제 1 항에 있어서,
    상기 스케줄링부는 우선순위 큐(Priority Queue)를 이용해서 최소 완료시간을 가진 패킷을 추출하는 네트워크 지연시간 보장 시스템.
  5. 제1항에 있어서,
    상기 패킷 처리부는,
    공정 큐잉(Fair queuing) 방식을 적용하여 최초로 인입하는 노드의 완료시간을 하기의 수학식에 적용하여 산출하는 네트워크 지연시간 보장 시스템:
    Figure PCTKR2023015975-appb-img-000064
    여기서,
    Figure PCTKR2023015975-appb-img-000065
    는 패킷(p)이 최초의 노드(0)에 인입하는 시점에서 산출된 완료 시점이며,
    Figure PCTKR2023015975-appb-img-000066
    는 패킷(p)이 최초의 노드(0)에 인입하는 시점의 실제 시간 또는 가상 시간을 나타내고,
    Figure PCTKR2023015975-appb-img-000067
    는 패킷(p)의 길이를 나타내고, r은 패킷(p)가 속한 플로우에 할당된 서비스 속도(rate)를 의미한다.
  6. 제1항에 있어서,
    상기 패킷 처리부는,
    하기의 수학식을 이용하여 코어 노드(h)에서의 완료시간(
    Figure PCTKR2023015975-appb-img-000068
    )을 산출하는 네트워크 지연시간 보장 시스템:
    Figure PCTKR2023015975-appb-img-000069
    여기서,
    Figure PCTKR2023015975-appb-img-000070
    는 코어 노드(h)와 패킷의 함수를 나타내고, 코어 노드(h)에서 산출한 완료시간 증가분으로 정의되며, 코어 노드(h)와 코어 노드(h-1)는 패킷(p)이 경유하는 노드를 의미하며 패킷(p)은 코어 노드(h-1)를 경유한 직후 코어 노드(h)를 경유한다.
  7. 제6항에 있어서,
    Figure PCTKR2023015975-appb-img-000071
    Figure PCTKR2023015975-appb-img-000072
    Figure PCTKR2023015975-appb-img-000073
    사이에서 기 정의된 규칙에 따라 결정되고,
    Figure PCTKR2023015975-appb-img-000074
    는 코어 노드(h-1)에서의 패킷(p)의 지연시간 하한을 나타내고,
    Figure PCTKR2023015975-appb-img-000075
    는 코어 노드(h-1)에서 패킷(p)이 겪을 수 있는 최대 지연시간을 나타내는 네트워크 지연시간 보장 시스템.
  8. 제7항에 있어서,
    Figure PCTKR2023015975-appb-img-000076
    는 하기의 수학식에 따라 결정되는 네트워크 지연시간 보장 시스템:
    Figure PCTKR2023015975-appb-img-000077
    여기서,
    Figure PCTKR2023015975-appb-img-000078
    는 코어 노드(h-1)에서의 모든 플로우에 대한 최대 패킷 길이를 나타내고,
    Figure PCTKR2023015975-appb-img-000079
    는 코어 노드(h-1)에서의 링크 용량을 나타내며, Li는 플로우 i의 최대 패킷 길이를 나타내고, ri는 플로우 i에 할당된 서비스 속도(rate)를 나타낸다.
  9. 제6항에 있어서,
    Figure PCTKR2023015975-appb-img-000080
    Figure PCTKR2023015975-appb-img-000081
    Figure PCTKR2023015975-appb-img-000082
    사이에서 기 정의된 규칙에 따라 결정되고,
    Figure PCTKR2023015975-appb-img-000083
    는 코어 노드(h-1)에서의 임의의 패킷의 지연시간 하한을 나타내고,
    Figure PCTKR2023015975-appb-img-000084
    는 코어 노드(h-1)에서 임의의 패킷이 겪을 수 있는 최대 지연시간을 나타내는 네트워크 지연시간 보장 시스템.
  10. 네트워크 지연시간 보장 시스템을 이용한 네트워크 지연시간 보장 방법에 있어서,
    도착된 패킷을 저장하고, 저장된 패킷의 완료시간(finish time, FT)을 산출하여 새로운 메타 데이터를 생성하는 단계,
    저장된 패킷들의 완료시간을 비교 함으로써 최소 완료시간을 가진 패킷을 추출하는 단계, 그리고
    스케줄링된 패킷들을 출력 포트를 통해 출력시키는 단계를 포함하는 네트워크 지연시간 보장 방법.
PCT/KR2023/015975 2022-10-21 2023-10-17 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법 WO2024085572A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0136578 2022-10-21
KR20220136578 2022-10-21
KR1020230024451A KR20240056380A (ko) 2022-10-21 2023-02-23 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법
KR10-2023-0024451 2023-02-23

Publications (1)

Publication Number Publication Date
WO2024085572A1 true WO2024085572A1 (ko) 2024-04-25

Family

ID=90738072

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/015975 WO2024085572A1 (ko) 2022-10-21 2023-10-17 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법

Country Status (1)

Country Link
WO (1) WO2024085572A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0977404A2 (en) * 1998-07-30 2000-02-02 Fore Systems, Inc. Scalable scheduled cell switch and method for switching
US20020036984A1 (en) * 2000-06-02 2002-03-28 Fabio Chiussi Method and apparatus for guaranteeing data transfer rates and enforcing conformance with traffic profiles in a packet network
US7236491B2 (en) * 2000-11-30 2007-06-26 Industrial Technology Research Institute Method and apparatus for scheduling for packet-switched networks
US20190230042A1 (en) * 2010-03-29 2019-07-25 Tadeusz H. Szymanski Method to achieve bounded buffer sizes and quality of service guarantees in the internet network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0977404A2 (en) * 1998-07-30 2000-02-02 Fore Systems, Inc. Scalable scheduled cell switch and method for switching
US20020036984A1 (en) * 2000-06-02 2002-03-28 Fabio Chiussi Method and apparatus for guaranteeing data transfer rates and enforcing conformance with traffic profiles in a packet network
US7236491B2 (en) * 2000-11-30 2007-06-26 Industrial Technology Research Institute Method and apparatus for scheduling for packet-switched networks
US20190230042A1 (en) * 2010-03-29 2019-07-25 Tadeusz H. Szymanski Method to achieve bounded buffer sizes and quality of service guarantees in the internet network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Research on Wide-Area Network End-to-End Deterministic Networking Technology", FINAL RESEARCH REPORT, SANGMYUNG UNIVERSITY INDUSTRY-ACADEMY COOPERATION FOUNDATION., 30 November 2021 (2021-11-30), SANGMYUNG UNIVERSITY INDUSTRY-ACADEMY COOPERATION FOUNDATION., XP093160111, Retrieved from the Internet <URL:https://ksp.etri.re.kr/ksp/report/file?id=31431> *

Similar Documents

Publication Publication Date Title
Iyer et al. Analysis of the parallel packet switch architecture
US7027457B1 (en) Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches
Krishna et al. On the speedup required for work-conserving crossbar switches
Golestani Congestion-free communication in high-speed packet networks
US6658016B1 (en) Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control
US20020034183A1 (en) Switching systems and methods of operation of switching systems
JPH08511927A (ja) セル交換通信制御装置における待ち行列チャネルの帯域幅および輻輳制御
JPH10200550A (ja) セルスケジューリング方法及びその装置
WO2002073865A2 (en) Time based packet scheduling and sorting system
CN101471854A (zh) 一种转发报文的方法及装置
US7391777B2 (en) Distance-sensitive scheduling of TDM-over-packet traffic in VPLS
JPH03135133A (ja) マルチメディア統合ネットワークシステム
JPH1174909A (ja) 資源を共有するシステムにおけるサービス要求受付管理方法
WO2024085572A1 (ko) 서비스 순서 보존형 전역 완료시간 기반 네트워크 지연시간 보장 시스템 및 방법
Cobb et al. A theory of multi‐channel schedulers for quality of service
Lizambri et al. Priority scheduling and buffer management for ATM traffic shaping
EP2426874A1 (en) Bandwidth control method and bandwidth control device
Daigle Message delays at packet-switching nodes serving multiple classes
Hansson et al. Guaranteeing real-time traffic through an ATM network
Lam et al. Burst scheduling networks
US20220239397A1 (en) Centralized control of time gates for time sensitive networking (tsn)
Chlamtac et al. A counter based congestion control (CBC) for ATM networks
Rahouti et al. QoSP: A priority-based queueing mechanism in software-defined networking environments
Liu et al. Deployment of Asynchronous Traffic Shapers in Data Center Networks
US8031721B2 (en) Method and apparatus for marking and scheduling packets for transmission

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

Country of ref document: EP

Kind code of ref document: A1