KR20170047315A - Improved network utilization in policy-based networks - Google Patents
Improved network utilization in policy-based networks Download PDFInfo
- Publication number
- KR20170047315A KR20170047315A KR1020177008008A KR20177008008A KR20170047315A KR 20170047315 A KR20170047315 A KR 20170047315A KR 1020177008008 A KR1020177008008 A KR 1020177008008A KR 20177008008 A KR20177008008 A KR 20177008008A KR 20170047315 A KR20170047315 A KR 20170047315A
- Authority
- KR
- South Korea
- Prior art keywords
- data packet
- route
- node
- alternate
- routes
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/247—Multipath using M:N active or standby paths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/53—Allocation or scheduling criteria for wireless resources based on regulatory allocation policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
하나의 실시예에서, 방법은 네트워크의 노드의 라우팅 엔진에서 데이터 패킷을 수신하는 단계를 포함한다. 데이터 패킷을 노드로부터 데이터 패킷의 목적지로 전송하기 위해, 노드의 전송 테이블로부터 루트가 선택된다. 전송 테이블은 노드에서 목적지로의 2개 이상의 루트와 관련된, 루트 비용을 포함하는, 루트 특성을 포함한다. 하드웨어 컴퓨팅 디바이스가 선택된 루트를 분석하여, 실시간 트래픽 정보에 기초하여, 선택된 루트가 데이터 패킷을 전달하기에 적합한지를 결정한다. 선택된 루트가 데이터 패킷을 전달하기에 부적합하다고 결정되면, 데이터 패킷이 라우팅 엔진으로 반환된다. 이전의 선택된 루트가 데이터 패킷을 전달하기에 부적합하면, 이전의 선택된 루트 대신에 데이터 패킷에 대한 대체 루트가 전송 테이블로부터 선택된다.In one embodiment, the method includes receiving a data packet at a routing engine of a node of the network. In order to transmit a data packet from the node to the destination of the data packet, a route is selected from the transmission table of the node. The transmission table includes the root property, which includes the root cost associated with two or more routes from the node to the destination. The hardware computing device analyzes the selected route and determines, based on the real-time traffic information, whether the selected route is suitable for delivering the data packet. If it is determined that the selected route is unsuitable for delivering the data packet, the data packet is returned to the routing engine. If the previous selected route is unsuitable for delivering the data packet, a replacement route for the data packet instead of the previously selected route is selected from the transmission table.
Description
본 개시내용은 네트워킹에 관한 것으로, 더욱 구체적으로는, 네트워크가 동적일 수 있는 정책 기반 네트워크에서의 네트워크 이용 개선에 관한 것이다.This disclosure relates to networking, and more particularly, to improving network utilization in policy-based networks where the network may be dynamic.
소스와 목적지 사이에 다수의 경로를 갖는 정책 라우팅 네트워크는 일반적으로 그러한 다수의 경로를 이용하도록 최적화되지 않아서, 특히 토폴로지와 링크 품질이 시간에 따라 달라지는 상황에서 인위적으로 네트워크의 처리량을 줄인다. 주어진 서비스 품질(QoS) 레벨 또는 차별 서비스 코드 포인트(DSCP) 값에 대해 링크가 포화되는 경우, 적합한 대체 경로가 이용 가능할 경우에도, 추가 트래픽이 드롭(drop)된다. 데이터의 드롭에서, 중요한 정보가 손실될 수 있거나 시간에 민감한 정보(time-sensitive information)가 과도하게 지연될 수 있다. 이는 손실이나 지연이 심각한 결과를 초래할 수 있는 전술 네트워크에서 특히 중요하다.Policy routing networks with multiple paths between source and destination are typically not optimized to use such multiple paths, and artificially reduce the throughput of the network, especially in situations where topology and link quality vary over time. If the link is saturated for a given Quality of Service (QoS) level or a differentiated service code point (DSCP) value, additional traffic is dropped, even if a suitable alternate path is available. At the drop of data, important information can be lost or time-sensitive information can be over-delayed. This is especially important in tactical networks where loss or delay can have serious consequences.
종래의 네트워크 관리자는 QoS 레벨이나 DSCP 값에 기초하여 취해져야 하는 루트를 결정하는 정책 기반 관리를 위한 규칙을 갖지만, 이러한 루트가 정체되면, 데이터는 통상적으로 드롭된다.Conventional network managers have rules for policy-based management that determine which routes should be taken based on QoS level or DSCP value, but if such a route gets stuck, the data is typically dropped.
하나의 실시예에서, 방법은 네트워크의 노드의 라우팅 엔진에서 데이터 패킷을 수신하는 단계를 포함한다. 데이터 패킷을 노드로부터 데이터 패킷의 목적지로 전송하기 위해, 노드의 전송 테이블로부터 루트가 선택된다. 전송 테이블은 노드에서 목적지로의 2개 이상의 루트와 관련된, 루트 비용을 포함하는, 루트 특성을 포함한다. 컴퓨터 하드웨어 컴퓨팅 디바이스는 선택된 루트를 분석하여, 실시간 네트워크 트래픽에 기초하여, 선택된 루트가 데이터 패킷을 전달하기에 적합한지를 결정한다. 선택된 루트가 데이터 패킷을 전달하기에 부적합하다고 결정되면, 데이터 패킷이 노드의 라우팅 엔진으로 반환된다. 이전의 선택된 루트가 데이터 패킷을 전달하기에 부적합하다고 결정되면, 이전의 선택된 루트 대신에 데이터 패킷에 대한 대체 루트가 전송 테이블로부터 선택된다.In one embodiment, the method includes receiving a data packet at a routing engine of a node of the network. In order to transmit a data packet from the node to the destination of the data packet, a route is selected from the transmission table of the node. The transmission table includes the root property, which includes the root cost associated with two or more routes from the node to the destination. The computer hardware computing device analyzes the selected route to determine, based on the real-time network traffic, whether the selected route is suitable for delivering the data packet. If it is determined that the selected route is unsuitable for delivering the data packet, the data packet is returned to the node's routing engine. If it is determined that the previous selected route is unsuitable for delivering the data packet, a replacement route for the data packet is selected from the transmission table instead of the previously selected route.
다른 실시예에서, 시스템은 네트워크의 노드를 포함하며, 노드는 라우팅 엔진 및 라우팅 엔진의 아웃바운드 인터페이스와 관련된 트래픽 셰이퍼(traffic shaper)를 포함한다. 라우팅 엔진은 데이터 패킷을 수신하고; 노드의 전송 테이블로부터, 노드로부터 데이터 패킷의 목적지로 데이터 패킷을 전송하기 위한 루트를 선택하도록 구성된다. 전송 테이블은 노드에서 목적지로의 2개 이상의 루트와 관련된, 루트 비용을 포함하는, 루트 특성을 포함한다. 트래픽 셰이퍼는 하드웨어 컴퓨팅 디바이스에 의해, 선택된 루트를 분석하여, 실시간 트래픽 정보에 기초하여, 선택된 루트가 데이터 패킷을 전달하기에 적합한지를 결정하도록 구성된다. 트래픽 셰이퍼는 선택된 루트가 데이터 패킷을 전달하기에 부적합한 것으로 결정되면 데이터 패킷을 노드의 라우팅 엔진으로 반환하도록 더 구성된다. 라우팅 엔진은 이전의 선택된 루트가 데이터 패킷을 전달하기에 부적합한 것으로 결정되는 경우에 이전의 선택된 루트 대신에 데이터 패킷에 대한 대체 루트를 전송 테이블로부터 선택하도록 더 구성된다.In another embodiment, the system comprises a node of a network, the node comprising a routing engine and a traffic shaper associated with the outbound interface of the routing engine. The routing engine receiving the data packet; From the transmission table of the node, a route for transmitting the data packet from the node to the destination of the data packet. The transmission table includes the root property, which includes the root cost associated with two or more routes from the node to the destination. The traffic shaper is configured by the hardware computing device to analyze the selected route and determine, based on the real-time traffic information, whether the selected route is suitable for delivering the data packet. The traffic shaper is further configured to return the data packet to the node's routing engine if the selected route is determined to be unsuitable for delivering the data packet. The routing engine is further configured to select a substitute route for the data packet from the transmission table instead of the previously selected route if the previously selected route is determined to be unsuitable for delivering the data packet.
또 다른 실시예에서, 컴퓨터 프로그램 제품은 컴퓨터 판독 가능 프로그램 코드를 구현한 컴퓨터 판독 가능 저장 매체를 포함한다. 컴퓨터 판독 가능 프로그램 코드는 방법을 수행하기 위해 프로세서에 의해 실행 가능하다. 방법은 네트워크의 노드의 라우팅 엔진에서 데이터 패킷을 수신하는 단계를 포함한다. 데이터 패킷을 노드로부터 데이터 패킷의 목적지로 전송하기 위해, 노드의 전송 테이블로부터 루트가 선택된다. 전송 테이블은 노드에서 목적지로의 2개 이상의 루트와 관련된, 루트 비용을 포함하는, 루트 특성을 포함한다. 컴퓨터 하드웨어 컴퓨팅 디바이스는 선택된 루트를 분석하여, 실시간 네트워크 트래픽에 기초하여, 선택된 루트가 데이터 패킷을 전달하기에 적합한지를 결정한다. 선택된 루트가 데이터 패킷을 전달하기에 부적합하다고 결정되면, 데이터 패킷이 노드의 라우팅 엔진으로 반환된다. 이전의 선택된 루트가 데이터 패킷을 전달하기에 부적합하다고 결정되면, 이전의 선택된 루트 대신에 데이터 패킷에 대한 대체 루트가 전송 테이블로부터 선택된다.In yet another embodiment, the computer program product comprises a computer readable storage medium embodying computer readable program code. The computer readable program code is executable by the processor to perform the method. The method includes receiving a data packet from a routing engine of a node of the network. In order to transmit a data packet from the node to the destination of the data packet, a route is selected from the transmission table of the node. The transmission table includes the root property, which includes the root cost associated with two or more routes from the node to the destination. The computer hardware computing device analyzes the selected route to determine, based on the real-time network traffic, whether the selected route is suitable for delivering the data packet. If it is determined that the selected route is unsuitable for delivering the data packet, the data packet is returned to the node's routing engine. If it is determined that the previous selected route is unsuitable for delivering the data packet, a replacement route for the data packet is selected from the transmission table instead of the previously selected route.
추가적인 특징 및 이점이 본 개시내용의 기술을 통해 실현된다. 본 개시내용의 다른 실시예 및 양태가 본 명세서에 상세히 설명되며 청구범위의 일부로 간주된다. 본 개시내용 및 그의 이점 및 특징의 더 나은 이해를 위해 설명과 도면을 참조한다.Additional features and advantages are realized through the teachings of the present disclosure. Other embodiments and aspects of the disclosure are described in detail herein and are considered a part of the claims. For a better understanding of the present disclosure and its advantages and features, reference is made to the description and drawings.
이제, 본 개시내용의 더 완전한 이해를 위해, 첨부된 도면 및 상세한 설명과 관련하여 취해진 다음의 간단한 설명이 참조되며, 도면에서 동일한 참조 번호는 동일한 요소를 나타낸다.
도 1은 본 개시내용의 일부 실시예에 따른 라우팅 시스템 노드의 블록도이다.
도 2는 본 개시내용의 일부 실시예에 따른 네트워크에서 데이터 패킷을 라우팅하기 위한 방법의 흐름도이다.
도 3은 본 개시내용의 일부 실시예에 따른 라우팅 시스템의 일부 또는 모든 양태를 구현하기 위한 컴퓨터 시스템의 블록도이다.BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the present disclosure, reference is now made to the following brief description taken in conjunction with the accompanying drawings and detailed description, wherein like reference numerals designate like elements.
1 is a block diagram of a routing system node in accordance with some embodiments of the present disclosure.
2 is a flow diagram of a method for routing data packets in a network in accordance with some embodiments of the present disclosure.
3 is a block diagram of a computer system for implementing some or all aspects of a routing system in accordance with some embodiments of the present disclosure.
본 라우팅 시스템의 일부 실시예에 따르면, 데이터 패킷은 정체, 즉 링크 포화 또는 다른 트래픽 셰이핑 문제로 인해 드롭되는 대신에 리라우팅될 수 있다. 일반적으로, 라우팅 시스템은 선택된 "최상의" 루트가 링크 포화 또는 기타 문제를 겪고 있다는 것을 식별하고, 데이터를 위한 하나 이상의 가능한 대체 루트를 동적으로 식별하고, 이들 대체 루트 중 적어도 하나를 이용할 수 있다. 따라서, 패킷을 드롭하는 대신에, 라우팅 시스템은 데이터 패킷의 목적지를 향하여, 아마도 상이한 그러나 호환 가능한 QoS 레벨에서 대체 루트를 동적으로 이용할 수 있다.According to some embodiments of the present routing system, data packets may be rerouted instead of being dropped due to congestion, i.e., link saturation or other traffic shaping problems. In general, the routing system can identify that the selected "best" route is experiencing link saturation or other problems, dynamically identify one or more possible alternate routes for data, and utilize at least one of these alternate routes. Thus, instead of dropping packets, the routing system can dynamically use alternative routes, perhaps at different but compatible QoS levels, towards the destination of the data packet.
라우팅 시스템은 다른 식별된 유효 루트를 이용하여, 예를 들어 원하는 목적지 주소, QoS 및 DSCP 마킹에 기초하여 그들로부터 선택할 수 있다. 그러한 대체 루트가 존재하면, 라우팅 시스템은 패킷의 드롭을 유발했을 루트 대신에 그러한 대체 루트를 따라 패킷을 전송할 수 있다. 라우팅 시스템의 다양한 실시예는 정체 또는 트래픽 셰이핑 문제의 경우에 패킷을 드롭할 필요성을 없애고, 전체 네트워크의 이용을 개선하고, 그에 따라 재전송에 대한 필요성을 감소시킬 수 있다. 본 라우팅 시스템의 실시예는 동적으로 루트를 선택할 수 있기 때문에, 그러한 실시예는 이에 따라 동적 네트워크를 더 효율적으로 이용할 수 있다.The routing system may use other identified valid routes to select from them based on, for example, the desired destination address, QoS and DSCP marking. If such an alternate route exists, the routing system may transmit the packet along such alternate route instead of the route that caused the drop of the packet. Various embodiments of the routing system may eliminate the need to drop packets in the case of congestion or traffic shaping problems, improve the utilization of the entire network, and thereby reduce the need for retransmissions. Since embodiments of the present routing system can dynamically select routes, such embodiments can thus more efficiently utilize the dynamic network.
도 1은 네트워크의 노드(110)의 적어도 일부의 블록도이며, 노드는 본 개시내용의 일부 실시예에 따른 라우팅 시스템(100)의 양태를 포함한다. 노드(110)는 라우팅 시스템(100)에 의해 관리되는 네트워크를 위한 라우팅 노드일 수 있다. 노드(110)는 도시된 것과 다른 컴포넌트를 포함할 수 있음을 알 것이다. 네트워크는, 함께 네트워크를 통해 데이터 패킷을 라우팅할 수 있는 그러한 노드들(110) 중 하나 이상을 포함할 수 있다. 도시된 바와 같이, 노드(110)는 라우팅 엔진(120) 및 하나 이상의 네트워크 인터페이스(130)를 포함할 수 있다. 각각의 네트워크 인터페이스(130)는 하나 이상의 다운스트림 엔티티(160)(예를 들어, 가중된 페어 큐(weighed fair queue))에 접속된 트래픽 셰이퍼(140)를 포함할 수 있다. 다수의 네트워크 인터페이스(130)가 도 1에 도시되지만, 2개의 네트워크 인터페이스(130)만이 단일 노드(110)에 포함될 수도 있다. 각각의 다운스트림 엔티티(160)는 현재 노드(110)를 인접 노드(110)에 접속하는 대응하는 물리적 링크에 대한 인터페이스를 포함할 수 있다.1 is a block diagram of at least a portion of a
노드의 네트워크 인터페이스들(130) 중 하나의 네트워크 인터페이스를 통해 인접 노드로부터 노드(110)에서 데이터 패킷이 수신될 수 있으며, 그러한 경우에 상기 하나의 네트워크 인터페이스는 입구 인터페이스(entrance interface)로서 동작한다. 대조적으로, 데이터 패킷이 특정 네트워크 인터페이스(130)를 통해 노드(110)로부터 전송될 때, 그 네트워크 인터페이스(130)는 출구 인터페이스(exit interface)로서 동작한다.A data packet may be received at a
라우팅 엔진(120)은 노드(110)에서 수신된 각각의 데이터 패킷에 대한 라우팅 결정을 행할 수 있다. 더욱 구체적으로, 라우팅 엔진(120)은 전통적인 정책 결정을 통해 데이터 패킷에 가장 적합한 것으로 간주되는 루트가 정체 또는 다른 이유로 인해 데이터 패킷을 처리하기에 부적합한지를 결정할 수 있다. 그러한 경우, 라우팅 엔진(120)은 데이터 패킷에 대한 최상의 대체 루트를 선택할 수 있다.
종래의 라우팅 기술에 따르면, 노드의 라우팅 엔진은 라우팅 엔진이 알고 있는 각각의 목적지에 대한 최상의 루트를 나타내는 전송 테이블을 유지한다. 목적지에 대한 다수의 최상의 루트가 동일한 비용을 갖거나 비용 차이가 미리 정의된 임계치 이내인 경우에 그러한 최상의 루트가 유지될 수 있다. 전송 테이블에 저장되는 데이터는 인접 노드들과의 통신을 통해 형성되며, 그러한 인접 노드들은 결국 그의 인접 노드들과 통신하고, 기타 등등이다. 따라서, 제1 노드와 목적지 사이의 다양한 노드 간의 통신을 통해, 제1 노드는 목적지에 대한 최상의 루트를 결정한다. 또한, 각각의 노드는 그의 인접 링크들(즉, 인접 노드들에 대한 접속들)을 알고 있기 때문에, 다양한 노드는 네트워크 토폴로지 변경을 서로 통신할 수 있다. 네트워크에 대한 토폴로지 변경이나 다른 변경이 새로운 최상의 루트를 도입하는 경우, 제1 노드는 결국 다른 노드와의 통신을 통해 그것을 알게 될 것이다. 이 경우, 새로운 최상의 루트는 라우팅 엔진의 전송 테이블 내의 이전의 최상의 루트를 대체할 것이다.According to conventional routing techniques, the routing engine of the node maintains a transmission table indicating the best route for each destination that the routing engine knows. Such a best route can be maintained if the plurality of best routes to the destination have the same cost or if the cost difference is within a predefined threshold. Data stored in the transmission table is formed through communication with neighboring nodes, which are eventually communicating with its neighboring nodes, and so on. Thus, through communication between the various nodes between the first node and the destination, the first node determines the best route to the destination. Also, since each node knows its neighbor links (i.e., connections to neighbor nodes), the various nodes can communicate network topology changes with each other. If a topology change or other change to the network introduces a new best route, the first node will eventually know it through communication with the other node. In this case, the new best route will replace the previous best route in the routing table of the routing engine.
종래의 시스템에서는, 최상의 루트와 함께, 라우팅 엔진은 그 루트의 비용도 유지한다. 루트 비용 계산은 일반적으로 정책에 의존한다. 예를 들어, 제1 노드에 의해 저장되는 루트의 비용은 제1 노드와 목적지 사이의 홉(즉, 노드 간의 링크)의 수일 수 있다. 종래 기술에 따르면, 전송 테이블에 유지되는 각각의 목적지에 대해, 최상의 루트(즉, 최저 비용을 갖는 루트 또는 매우 유사한 최저 비용을 갖는 루트)만이 전송 테이블에 유지된다. 다른 모든 루트는 버려지고 잊혀진다. 따라서, 종래 기술에 따르면, 특정 목적지로의 전달을 위해 데이터 패킷이 수신될 때, 라우팅 엔진은 현재 알려진 최상의 루트를 선택한다.In conventional systems, along with the best route, the routing engine also maintains the cost of that route. Root cost calculations are generally policy dependent. For example, the cost of the route stored by the first node may be the number of hops (i.e., links between nodes) between the first node and the destination. According to the prior art, only the best route (i.e., the route with the lowest cost or the route with the lowest similar cost) is kept in the transmission table for each destination maintained in the transmission table. All other routes are discarded and forgotten. Thus, according to the prior art, when a data packet is received for delivery to a particular destination, the routing engine selects the currently known best route.
본 개시내용에 따른 라우팅 시스템(100)의 일부 실시예에서, 종래 기술에서와 같이, 노드들(110)은 서로 통신할 수 있고, 각각의 노드는 전송 테이블(125)을 유지할 수 있다. 그러나, 전송 테이블(125)은 알려진 각각의 목적지에 대한 하나 이상의 루트를 유지할 수 있다. 새로운 루트가 식별될 때, 그 루트는 그 루트의 비용과 함께 전송 테이블(125)에 추가될 수 있지만, 기존의 알려진 루트는 전송 테이블(125)로부터 제거될 필요가 없다. 일부 실시예에 따르면, 최상의 루트를 처음 선택할 때, 라우팅 엔진(120)은 전송 테이블에 저장된 바와 같은, 목적지에 대해 이용 가능한 루트 중에서 현재의 최상의 루트(예를 들어, 최저 비용 루트)를 선택할 수 있다.In some embodiments of the
선택된 루트에 기초하여, 라우팅 엔진(120)은 대응하는 네트워크 인터페이스(130)를 식별할 수 있다. 일부 실시예에서, 별개의 네트워크 인터페이스(130)가 현재 노드(110)로부터의 각각의 링크에 대해 사용될 수 있으며, 따라서 루트 선택은 선택된 루트의 제1 링크와 관련된 대응하는 네트워크 인터페이스를 고유하게 결정할 수 있다.Based on the selected route, the
각각의 네트워크 인터페이스(130)는 트래픽 셰이퍼(140) 및 관련 다운스트림 엔티티(160)를 포함할 수 있다. 트래픽 셰이퍼(140)는 하나 이상의 트래픽 큐를 포함할 수 있다. 트래픽 셰이퍼(140)는 사용자 구성 가능 정책에 기초하여 특정 큐에 데이터 패킷을 배치할 수 있다. 한정이 아니라 예로서, 트래픽 셰이퍼(140)는 데이터 패킷 출력 레이트, 즉 레이트 제한을 유지하기 위해 트래픽 미터로서 토큰 버킷을 사용할 수 있다. 큐 상의 다양한 데이터 패킷은 결국 디큐잉될 수 있으며, 일부 경우에서는 다운스트림 엔티티(160)로 전송될 수 있다.Each
패킷이 다운스트림 엔티티(160)로 전송되기 전에, 트래픽 셰이퍼(140)는 해당 네트워크 인터페이스(130)로부터 이어지는 링크에서 시작하는 선택된 루트가 데이터 패킷을 전달하기에 적합한지를 결정할 수 있다. 선택된 루트가 적합한 것으로 간주되면, 트래픽 셰이퍼(140)는 패킷을 다운스트림 엔티티(160)로 전송할 수 있다.Before a packet is sent to the
선택된 루트가 전통적인 "최상의" 루트일 때에도, 선택된 루트가 특정 데이터 패킷을 전달하는 데 적합하지 않은 상황이 있을 수 있다. 한정이 아니라 예로서, 데이터 패킷은 사용자 구성 가능 정책에 따라 프로파일(즉, 계약)을 벗어난 경우에 또는 적용 가능한 큐가 가득 찬 경우에 드롭되는 것이 필요할 수 있다. 종래 기술에 따르면, 이러한 상황에서, 데이터 패킷은 사용자 구성 가능 정책에 따라 트래픽 셰이퍼(140)에 의해 드롭되거나 버려질 것이다.Even when the selected route is the traditional "best" route, there may be a situation where the selected route is not suitable for delivering a particular data packet. By way of example, and not limitation, a data packet may need to be dropped in the event of a profile (i.e., contract) out of compliance with a user configurable policy, or when the applicable queue is full. According to the prior art, in this situation, the data packet will be dropped or discarded by the
데이터 패킷을 전달하는 것에 대한 선택된 루트의 적합성에 관한 결정은 네트워크 관리자에 의해 설정되고 네트워크의 다양한 노드(110)에 의해 시행될 수 있는 기존의 정책에 의해 결정될 수 있다. 한정이 아니라 예로서, 루트는 그의 이용이 루트의 임의의 하나의 링크 상의 80% 로딩의 임계치와 같은 미리 결정된 임계치를 초과할 때의 정체로 인해; 패킷을 전송하기에 불충분한 대역폭을 가짐으로 인해; 또는 다운스트림 엔티티(160)의 대응하는 물리적 인터페이스로의 이전의 데이터 패킷의 전송과 인접 링크를 통한 그러한 데이터 패킷의 전송 사이에 수용 불가 지연(즉, 미리 결정된 임계치의 시간 프레임을 초과하는 지연)이 존재함으로 인해 부적합한 것으로 간주될 수 있다. 다른 예로, 루트는 루트의 지터가 미리 결정된 임계치를 초과하는 경우에 부적합한 것으로 간주될 수 있다.The determination of the suitability of the selected route for delivering the data packet may be determined by existing policies that may be set by the network administrator and enforced by the
종래 기술에 따르면, 트래픽 셰이퍼는 현재의 네트워크 정책에 기초하여 선택된 루트를 검사 및 분석하여, 선택된 루트가 데이터 패킷을 전달하는 데 현재 적합한지(예를 들어, 데이터 패킷이 프로파일 내에 있는지)를 결정한다. 선택된 루트가 데이터 패킷에 대해 적합하다고 간주되면, 트래픽 셰이퍼는 데이터 패킷을 다운스트림 엔티티(160)의 물리적 인터페이스로 전송할 수 있다. 이어서, 물리적 인터페이스는 선택된 루트에 대응하는 인접 링크를 따라 데이터 패킷을 전송할 수 있다. 선택된 루트가 적합하지 않은 경우, 종래 기술에 따라, 데이터 패킷은 통상적으로 큐잉, 재분류 또는 드롭될 것이다.According to the prior art, the traffic shaper examines and analyzes the selected route based on the current network policy to determine whether the selected route is currently suitable for delivering the data packet (e.g., whether the data packet is in the profile) . If the selected route is deemed appropriate for the data packet, the traffic shaper may forward the data packet to the physical interface of the
본 개시내용의 일부 실시예는 종래 기술에 기초한다. 일부 실시예에 따르면, 트래픽 셰이퍼(140)는 선택된 루트의 부적합으로 인해 데이터 패킷을 드롭할 필요가 없다. 오히려, 그러한 경우, 트래픽 셰이퍼(140)는 데이터 패킷을 라우팅 엔진(120)에 반환할 수 있다. 이어서, 라우팅 엔진(120)은 데이터 패킷을 그의 목적지로 전송하기 위한 최상의 대체 루트를 결정할 수 있다. 이를 위해, 라우팅 엔진(120)은 데이터 패킷에 대한 하나 이상의 대체 루트를 식별할 수 있다. 이들 대체 루트는 전술한 바와 같은 전송 테이블(125)에 이미 저장되었을 수 있다. 일부 실시예에서, 식별된 대체 루트는 현재 노드(110)로부터 목적지까지 이어지는 모든 이전에 발견된 루트를 포함할 수 있는데, 이는 그러한 루트가 새로운 최상의 루트의 식별시에 드롭될 필요가 없었기 때문이다.Some embodiments of the present disclosure are based on the prior art. According to some embodiments, the
일부 실시예에 따르면, 라우팅 엔진(120)은 그의 전송 테이블(125) 안에 각각의 알려진 목적지를 향하는 복수의 대체 루트를 유지할 수 있다. 라우팅 엔진(120)은 또한 대체 루트에 관한 다양한 루트 데이터를 유지할 수 있으며, 데이터는 각각의 루트 특성을 포함할 수 있고, 전술한 바와 같은 네트워크의 다양한 노드 간의 통신을 통해 생성 및 유지될 수 있다. 루트 데이터는 예를 들어 QoS, 대역폭, 레이턴시, 홉 카운트 및 지터와 같은 다양한 인자에 기초하여 계산될 수 있는 다양한 대체 루트의 루트 비용을 포함할 수 있다.According to some embodiments, the
이전에 선택된 루트가 데이터 패킷에 부적합한 것으로 간주되었고, 그러한 데이터 패킷이 라우팅 엔진(120)으로 반환된 후에, 라우팅 엔진(120)은 루트 데이터를 이용하여 최상의 대체 루트를 선택할 수 있다. 어떤 루트를 최상의 대체 루트로서 선택할지에 대한 결정은 대체 루트의 다양한 트래픽 특성을 고려할 수 있는 다양한 선택 알고리즘의 사용을 통해 이루어질 수 있다. 한정이 아니라 예로서, 사용되는 선택 알고리즘은 QoS 인식 알고리즘일 수 있으며, 루트 비용에 기여하고 루트 데이터로부터 획득될 수 있는 QoS, DSCP 마킹, 대역폭, 레이턴시, 홉 카운트 및 지터 중 하나 이상의 조합을 고려할 수 있다. 일부 실시예에서, 선택 알고리즘은 또한 데이터 패킷이 전송되고 있는 애플리케이션을 고려할 수 있다. 예를 들어, VoIP 애플리케이션은 아마도 웹 브라우징을 위해 수용할 수 있는 것보다 더 낮은 정도의 지터를 요구할 것이다. 따라서 VoIP 패킷의 경우, 최상의 대체 루트는 지터 임계치 미만인 것이 요구될 수 있다. 다른 예에서, 선택 알고리즘은 가장 높은 대역폭을 갖는 루트를 단순히 선택할 수 있거나, 라운드 로빈 접근법을 사용하여 데이터 패킷을 목적지를 향하는 다양한 대체 루트에 할당할 수 있다. 다양한 선택 알고리즘이 전송 테이블(125) 내의 이용 가능한 대체 루트 중에서 최상의 대체 루트를 선택하는 데 사용될 수 있다는 것을 이해할 것이다.After the previously selected route is deemed unsuitable for the data packet and such data packet is returned to the
일부 예에서, 최상의 대체 루트를 선택하는 것은 기존 네트워크 정책에 반할 수 있거나, 그것을 적어도 완화할 수 있다. 예를 들어, 네트워크 정책은 소정 애플리케이션에 대한 데이터 패킷이 적어도 사전 결정된 QoS 또는 다른 원하는 특성을 갖는 루트를 따라 전송될 것을 요구할 수 있다. 그러나, 그러한 요구는 정당한 패킷이 처음 선택된 최상의 루트의 부적합으로 인해 드롭될 때 이롭기보다는 해로울 수 있다. 일부 실시예에 따르면, 그러한 데이터 패킷은 대신에 약간 더 낮은 QoS를 갖는 루트를 따라 전송될 수 있으며, 이는 데이터 패킷을 드롭하는 것보다 더 나은 결과를 산출할 수 있다. 따라서, 최상의 대체 루트를 선택하면 데이터 패킷을 드롭하는 것보다 나은 결과를 유도할 수 있다. 전통적으로 정체가 큐잉된 데이터의 드롭을 요구할 때 이를 행하는 대신에, 라우팅 시스템(100)은 데이터 패킷을 적응시켜 이를 다른 상이한 루트에 의해 전송할 수 있다.In some instances, choosing the best alternate route may be against, or at least mitigate, existing network policies. For example, a network policy may require that a data packet for a given application be transmitted along a route having at least a predetermined QoS or other desired characteristics. However, such a request may be harmful rather than beneficial when a legitimate packet is dropped due to the incompatibility of the first best route selected. According to some embodiments, such a data packet may instead be transmitted along a route with slightly lower QoS, which may yield a better result than dropping the data packet. Therefore, choosing the best alternate route can lead to better results than dropping the data packet. Instead of doing this when the congestion traditionally requires dropping of queued data, the
일부 실시예에서, 라우팅 엔진(120)은 예를 들어, 데이터 패킷 자체 내에 있거나 라우팅 엔진(120)에 저장된 메타데이터를 유지할 수 있으며, 메타데이터는 해당 데이터 패킷에 대해 어느 네트워크 인터페이스(130)가 이미 시도되었는지를 지시한다. 데이터 패킷을 선택된 루트의 네트워크 인터페이스(130)로 전송하기 전에, 라우팅 엔진(120)은 데이터 패킷과 관련된 메타데이터를 검사하여 대응하는 네트워크 인터페이스(130)가 이전에 데이터 패킷에 대해 시도되지 않았음을 확인할 수 있다. 선택된 루트에 대한 네트워크 인터페이스(130)가 이미 그러한 메타데이터 내에 나열되어 있다면, 라우팅 엔진(120)은 이전에 선택되어 이미 시도된 것으로 결정된 루트를 제외하고, 데이터 패킷에 대해 다른 최상의 대체 루트를 선택할 수 있다. 또한, 데이터 패킷은 네트워크 인터페이스들(130) 중 하나의 네트워크 인터페이스를 통해 노드에서 수신되었을 것이며, 이 경우에 상기 하나의 네트워크 인터페이스는 입구 인터페이스로서 거동하였다. 루트 루핑(route looping)을 방지하기 위해, 일부 실시예에서, 라우팅 엔진(120)은 데이터 패킷에 대한 발신 네트워크 인터페이스(130)로서 입구 인터페이스를 선택하는 것을 피할 수 있다. 일부 실시예에서, 선택된 루트에 대한 네트워크 인터페이스(130)로 데이터 패킷을 전송할 때, 라우팅 엔진(120)은 네트워크 인터페이스(130)가 데이터 패킷에 대해 시도되었음을 나타내기 위해 데이터 패킷의 관련 메타데이터를 수정할 수 있다.In some embodiments, the
(처음에 선택된 최상의 루트 또는 라우팅 엔진(120)으로의 반환 후에 선택된 최상의 대체 루트일 수 있는) 선택된 루트가 데이터 패킷에 대해 적합한 것으로 간주되면, 트래픽 셰이퍼(140)는 데이터 패킷을 다운스트림 엔티티(160)로 전송할 수 있다. 이어서, 다운스트림 엔티티(160)의 물리적 인터페이스는 선택된 루트에 대응하는 인접 링크를 따라 데이터 패킷을 전송할 수 있다. 그러나, 선택된 루트가 부적합한 것으로 간주되면, 트래픽 셰이퍼(140)는 (라우팅 엔진(120)이 아직 이 작업을 수행하지 않았다면) 이 네트워크 인터페이스(130)가 이미 시도되었음을 나타내기 위해 데이터 패킷의 관련 메타데이터를 수정할 수 있고, 이어서 데이터 패킷을 라우팅 엔진(120)에 반환할 수 있다. 이어서, 라우팅 엔진(120)은 전술한 바와 같이 데이터 패킷에 대한 새로운 최상의 대체 루트를 선택할 수 있다.If the selected route is considered appropriate for the data packet (which may be the best selected route that was initially selected or the best alternative route selected after return to the routing engine 120), the
대안적으로, 일부 실시예에서, 선택된 루트가 적합하지 않을 때, 트래픽 셰이퍼(140)가 종료 조건이 충족되었다고 결정하면, 트래픽 셰이퍼(140)는 데이터 패킷을 드롭할 수 있다. 한정이 아니라 예로서, 트래픽 셰이퍼(140)가 데이터 패킷의 관련 메타데이터에 기초하여 데이터 패킷이 이전의 시도에서 또는 사전 결정된 수의 이전의 시도에서 리라우팅을 위해 이미 라우팅 엔진(120)에 반환된 것으로 결정하는 경우에, 트래픽 셰이퍼(140)는 라우팅 엔진(120)으로 데이터 패킷을 반환하는 대신 드롭할 수 있다.Alternatively, in some embodiments, when the selected route is not suitable, the
도 2는 본 개시내용의 일부 실시예에 따른 네트워크를 통해 데이터 패킷을 라우팅하는 방법(200)의 흐름도이다. 도시된 바와 같이, 블록 210에서, 데이터 패킷이 노드(110)에서 수신될 수 있다. 블록 220에서, 루트가 데이터 패킷에 대해 선택될 수 있고, 루트는 전송 테이블(125)로부터 선택된다. 루트가 결정되면, 데이터 패킷은 선택된 루트에 대응하는 네트워크 인터페이스(130)로 전송된다. 결정 블록 230에서, 선택된 루트의 네트워크 인터페이스(130)가 데이터 패킷에 적합한지를 결정할 수 있다. 선택된 루트가 적합한 것으로 간주되면, 블록 240에서 데이터 패킷은 다운스트림 엔티티(160)로 전송된다.2 is a flow diagram of a
결정 블록 230에서 선택된 루트가 데이터 패킷에 부적합한 것으로 간주되면, 결정 블록 250에서 대체 루트가 이용 가능하지 않거나 미리 결정된 종료 조건이 충족되었는지를 결정한다. 결정 블록 250에서 대체 루트가 이용 가능하지 않거나 미리 결정된 종료 조건이 충족되면, 데이터 패킷은 블록 280에서 드롭된다. 그렇지 않으면, 데이터 패킷은 라우팅 엔진(120)으로 반환된다. 블록 270에서, 대체 루트가 전송 테이블(125) 내의 이용 가능한 대체 루트 중에서 선택될 수 있다. 이어서, 방법(200)은 결정 블록 230으로 복귀하여, 선택된 대체 루트의 네트워크 인터페이스(130)가 데이터 패킷에 적합한지를 결정한다. 블록 230 내지 270은 적합한 대체 루트가 발견될 때까지 또는 데이터 패킷이 드롭될 때까지 반복될 수 있다.If the route selected at
상기 방법(200)은 단지 예시 목적으로 제공된다는 것을 이해할 것이다. 이 방법(200)은 구현에 기초하여 수정될 수 있거나, 본 개시내용의 다른 실시예에 따라 다른 방법이 사용될 수 있다.It will be appreciated that the
따라서, 오버로딩된 링크로의 트래픽이 충분히 이용되지 않는 링크로 오프로딩될 수 있기 때문에, 본 라우팅 시스템(100)의 일부 실시예는 네트워크의 대역폭의 더 나은 이용을 가능하게 한다. 그 결과, 라우팅 시스템(100)은 종래의 라우팅 기술에 비해 데이터를 드롭해야 할 필요성을 감소시킬 수 있다. 또한, 라우팅 시스템(100)은 라우팅 프로토콜이 수렴되기 전에 토폴로지 변경에 반응할 수 있다. 예를 들어, 토폴로지 변경 전에 주요 링크가 저하됨에 따라, 대체 링크가 자동으로 더 많은 트래픽을 전달하기 시작할 수 있다.Thus, some embodiments of the
라우팅 시스템(100)의 일부 실시예는 컴퓨터 시스템 또는 컴퓨터 하드웨어에 의해 전체적으로 또는 부분적으로 구현될 수 있다. 한정이 아니라 예로서, 라우팅 시스템은 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC) 또는 맞춤형 논리에 의해 구현될 수 있다. 다른 예에서, 도 3은 일부 실시예에 따른 라우팅 시스템(100) 또는 방법(200)을 구현하는 데 사용하기 위한 컴퓨터 시스템(300)의 블록도를 도시한다. 본 명세서에서 설명되는 라우팅 시스템(100) 및 방법(200)은 하드웨어, 소프트웨어(예를 들어, 펌웨어) 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 라우팅 시스템(100)의 하나 이상의 노드(110)는 도 3에 도시된 것과 같은 컴퓨터 시스템(300)으로 구현될 수 있다.Some embodiments of the
예시적인 실시예에서, 설명된 방법은 하드웨어로 적어도 부분적으로 구현될 수 있으며, 개인용 컴퓨터, 워크스테이션, 미니 컴퓨터 또는 메인프레임 컴퓨터와 같은 특수 또는 범용 컴퓨터 시스템(300)의 마이크로프로세서의 일부일 수 있다.In the exemplary embodiment, the described methods may be implemented at least partially in hardware and may be part of a microprocessor of a special or general
예시적인 실시예에서, 도 3에 도시된 바와 같이, 컴퓨터 시스템(300)은 프로세서(305), 메모리 제어기(315)에 결합된 메모리(310), 및 로컬 I/O 제어기(335)를 통해 통신 가능하게 결합되는 주변 장치와 같은 하나 이상의 입력 디바이스(345) 및/또는 출력 디바이스(340)를 포함한다. 이들 디바이스(340 및 345)는 예를 들어 프린터, 스캐너, 마이크로폰 등을 포함할 수 있다. 종래의 키보드(350) 및 마우스(355)는 I/O 제어기(335)에 결합될 수 있다. 예를 들어 I/O 제어기(335)는 본 기술분야에 공지된 바와 같이 하나 이상의 버스 또는 다른 유선 또는 무선 접속일 수 있다. I/O 제어기(335)는 통신을 가능하게 하기 위해 제어기, 버퍼(캐시), 드라이버, 중계기 및 수신기와 같은 추가 요소를 가질 수 있으며, 이들은 간소화를 위해 생략된다.3, the
I/O 디바이스(340, 345)는 입력 및 출력 양자를 통신하는 디바이스, 예를 들어, 디스크 및 테이프 저장소, (다른 파일, 장치, 시스템 또는 네트워크에 액세스하기 위한) 네트워크 인터페이스 카드(NIC) 또는 변조기/복조기, 무선 주파수(RF) 또는 다른 송수신기, 전화 인터페이스, 브리지, 라우터 등을 더 포함할 수 있다.The I /
프로세서(305)는 하드웨어 명령어 또는 소프트웨어, 특히 메모리(310)에 저장된 것을 실행하기 위한 하드웨어 디바이스이다. 프로세서(305)는 임의의 맞춤형 또는 상용 프로세서, 중앙 처리 유닛(CPU), 컴퓨터 시스템(300)과 관련된 여러 프로세서 중의 보조 프로세서, (마이크로칩 또는 칩셋 형태의) 반도체 기반 마이크로프로세서, 매크로프로세서, 또는 명령어를 실행하기 위한 다른 디바이스일 수 있다. 프로세서(305)는 실행 가능 명령어 인출을 가속화하기 위한 명령어 캐시, 데이터 인출 및 저장을 가속화하기 위한 데이터 캐시, 및 실행 가능 명령어 및 데이터 양자에 대한 가상/물리 어드레스 변환을 가속화하는 데 사용되는 변환 색인 버퍼(TLB)를 포함할 수 있지만 이에 한정되지 않는 캐시(370)를 포함한다. 캐시(370)는 더 많은 캐시 레벨(L1, L2 등)의 계층 구조로 구성될 수 있다.Processor 305 is a hardware device for executing hardware instructions or software, particularly those stored in memory 310. Processor 305 may be any of a variety of processors associated with a custom or commercial processor, a central processing unit (CPU),
메모리(310)는 휘발성 메모리 요소(예를 들어, 랜덤 액세스 메모리(RAM), 예로서 DRAM, SRAM, SDRAM 등)와 비휘발성 메모리 요소(예를 들어, ROM, 소거 및 프로그래밍 가능 판독 전용 메모리(EPROM), 전기적 소거 및 프로그래밍 가능 판독 전용 메모리(EEPROM), 프로그래밍 가능 판독 전용 메모리(PROM), 테이프, 컴팩트 디스크 판독 전용 메모리(CD-ROM), 디스크, 디스켓, 카트리지, 카세트 등) 중 어느 하나 또는 이들의 조합을 포함할 수 있다. 또한, 메모리(310)는 전자, 자기, 광학 또는 다른 유형의 저장 매체를 포함할 수 있다. 메모리(310)는 분산 아키텍처를 가질 수 있으며, 이러한 아키텍처에서는 다양한 컴포넌트가 서로 떨어져 위치하지만 프로세서(305)에 의해 액세스될 수 있음에 유의한다.The memory 310 may include volatile memory elements (e.g., random access memory (RAM), such as DRAM, SRAM, SDRAM, etc.) and non-volatile memory elements (e.g., ROM, erasable and programmable read- ), Electrically erasable and programmable read only memory (EEPROM), programmable read only memory (PROM), tape, compact disk read only memory (CD ROM), disk, diskette, cartridge, cassette, As shown in FIG. The memory 310 may also include electronic, magnetic, optical or other types of storage media. It is noted that memory 310 may have a distributed architecture in which various components may be located apart from one another but accessed by processor 305. [
메모리(310) 내의 명령어는 하나 이상의 개별 프로그램을 포함할 수 있으며, 이들 각각은 논리적 기능을 구현하기 위한 실행 가능 명령어의 순서화된 리스트를 포함한다. 도 3의 예에서, 메모리(310) 내의 명령어는 적절한 운영 체제(OS)(311)를 포함한다. 운영 체제(311)는 본질적으로 다른 컴퓨터 프로그램의 실행을 제어할 수 있고, 스케줄링, 입출력 제어, 파일 및 데이터 관리, 메모리 관리, 및 통신 제어 및 관련 서비스를 제공한다.The instructions in memory 310 may include one or more individual programs, each of which includes an ordered list of executable instructions for implementing the logical function. In the example of FIG. 3, the instructions in memory 310 include an appropriate operating system (OS) 311.
예를 들어 프로세서(305)에 대한 명령어 또는 다른 검색 가능한 정보를 포함하는 추가 데이터가 하드 디스크 드라이브 또는 솔리드 스테이트 드라이브와 같은 저장 디바이스일 수 있는 저장소(320)에 저장될 수 있다. 메모리(310) 또는 저장소(320) 내의 저장된 명령어는 프로세서가 본 개시내용의 라우팅 시스템(100) 및 방법(200)의 하나 이상의 양태를 실행할 수 있게 하는 명령어를 포함할 수 있다.Additional data including, for example, instructions for processor 305 or other searchable information may be stored in storage 320, which may be a hard disk drive or a storage device such as a solid state drive. The stored instructions in memory 310 or storage 320 may include instructions that enable a processor to execute one or more aspects of
컴퓨터 시스템(300)은 디스플레이(330)에 결합된 디스플레이 제어기(325)를 더 포함할 수 있다. 예시적인 실시예에서, 컴퓨터 시스템(300)은 네트워크(365)에 결합하기 위한 네트워크 인터페이스(360)를 더 포함할 수 있다. 네트워크(365)는 광대역 접속을 통해 컴퓨터 시스템(300)과 임의의 외부 서버, 클라이언트 등 사이에서 통신하기 위한 IP 기반 네트워크일 수 있다. 네트워크(365)는 컴퓨터 시스템(300)과 외부 시스템 사이에서 데이터를 송신 및 수신한다. 예시적인 실시예에서, 네트워크(365)는 서비스 제공자에 의해 관리되는 관리형 IP 네트워크일 수 있다. 네트워크(365)는 예를 들어 Wi-Fi, WiMAX 등과 같은 무선 프로토콜 및 기술을 이용하여 무선 방식으로 구현될 수 있다. 네트워크(365)는 근거리 네트워크, 광역 네트워크, 도시 영역 네트워크, 인터넷 또는 기타 유사한 유형의 네트워크 환경과 같은 패킷 교환 네트워크일 수도 있다. 네트워크(365)는 고정 무선 네트워크, 무선 근거리 네트워크(LAN), 무선 광역 네트워크(WAN), 개인 영역 네트워크(PAN), 가상 비공개 네트워크(VPN), 인트라넷 또는 다른 적절한 네트워크 시스템일 수 있거나, 신호를 송수신하기 위한 장비를 포함할 수 있다.The
본 개시내용에 따른 라우팅 시스템(100) 및 방법(200)은 전체 또는 일부가 컴퓨터 프로그램 제품 또는 도 3에 도시된 것과 같은 컴퓨터 시스템(300)에서 구현될 수 있다.The
아래의 청구범위 내의 모든 수단 또는 단계 플러스 기능 요소의 대응하는 구조, 재료, 동작 및 균등물은 구체적으로 청구되는 바와 같은 다른 청구 요소와 조합하여 기능을 수행하기 위한 임의의 구조, 재료 또는 동작을 포함하는 것을 의도한다. 본 명세서의 설명은 예시의 목적으로 제공되었지만, 총망라하는 것으로 또는 구체적으로 설명된 실시예로 한정되는 것으로 의도되지 않는다. 본 개시내용의 범위 및 사상을 벗어나지 않으면서 많은 수정 및 변경이 본 기술분야의 통상의 기술자에게 명백할 것이다. 실시예는 다양한 실시예의 원리 및 실제 응용을 가장 잘 설명하기 위해 그리고 본 기술분야의 통상의 다른 기술자가 고려되는 특정 용도에 적합한 바와 같은 다양한 수정을 갖는 다양한 실시예를 이해하는 것을 가능하게 하기 위해 선택 및 설명되었다.The corresponding structures, materials, operations, and equivalents of all means or step-plus functional elements in the claims below include any structure, material, or action for performing a function in combination with other claimed elements, as specifically claimed It is intended to do. Although the description herein is provided for illustrative purposes, it is not intended to be exhaustive or to limit the embodiments specifically described. Many modifications and variations will become apparent to those skilled in the art without departing from the scope and spirit of the present disclosure. The embodiments are chosen and described in order to best explain the principles and practical applications of various embodiments and to enable others of ordinary skill in the art to understand various embodiments having various modifications as are suited to the particular use contemplated And described.
일부 실시예가 설명되었지만, 본 기술분야의 기술자는 현재뿐만 아니라 미래에도 후술하는 청구범위의 범위에 속하는 다양한 개선 및 향상을 행할 수 있음을 이해할 것이다. 이러한 청구범위는 본 개시내용에 대한 적절한 보호를 유지하는 것으로 해석되어야 한다.Although some embodiments have been described, it will be appreciated by those skilled in the art that various improvements and enhancements may be made within the scope of the claims which follow, both now and in the future. Such claims should be construed as maintaining adequate protection to the present disclosure.
Claims (20)
네트워크의 노드의 라우팅 엔진(routing engine)에서 데이터 패킷을 수신하는 단계;
상기 노드의 전송 테이블(forwarding table)로부터, 상기 노드로부터 상기 데이터 패킷의 목적지로 상기 데이터 패킷을 전송하기 위한 루트(route)를 선택하는 단계 - 상기 전송 테이블은 상기 노드로부터 상기 목적지로의 2개 이상의 루트와 관련된, 루트 비용들(route costs)을 포함하는, 루트 특성들(route characteristics)을 포함함 -;
하드웨어 컴퓨팅 디바이스에 의해, 실시간 트래픽 정보에 기초하여, 상기 선택된 루트가 상기 데이터 패킷을 전달하기에 적합한지를 결정하기 위해 상기 선택된 루트를 분석하는 단계;
상기 선택된 루트가 상기 데이터 패킷을 전달하기에 부적합하다고 결정되면, 상기 데이터 패킷을 상기 노드의 상기 라우팅 엔진으로 반환하는 단계; 및
이전의 선택된 루트가 상기 데이터 패킷을 전달하기에 부적합하다고 결정되면, 상기 이전의 선택된 루트 대신에 상기 데이터 패킷에 대한 대체 루트를 상기 전송 테이블로부터 선택하는 단계
를 포함하는, 방법.As a method,
Receiving a data packet at a routing engine of a node of the network;
Selecting a route from the node's forwarding table to transmit the data packet from the node to a destination of the data packet, the transmission table comprising at least two Comprising route characteristics, including route costs, associated with the route;
Analyzing the selected route by the hardware computing device to determine if the selected route is suitable for delivering the data packet based on real-time traffic information;
Returning the data packet to the routing engine of the node if the selected route is determined to be unsuitable for delivering the data packet; And
Selecting a replacement route for the data packet instead of the previous selected route from the transmission table if a previous selected route is determined to be unsuitable for delivering the data packet;
/ RTI >
상기 선택된 대체 루트가 상기 데이터 패킷을 전달하기에 적합한 것으로 간주될 때까지, 상기 선택된 루트가 상기 데이터 패킷을 전달하기에 적합한지를 결정하기 위해 상기 선택된 루트를 분석하는 단계 및 상기 이전의 선택된 루트 대신 상기 데이터 패킷에 대한 대체 루트를 선택하는 단계를 반복하는 단계; 및
상기 선택된 대체 루트가 상기 데이터 패킷을 전달하기에 적합한 것으로 간주된 후에 상기 선택된 대체 루트를 따라 상기 데이터 패킷을 전송하는 단계
를 더 포함하는, 방법.The method according to claim 1,
Analyzing the selected route to determine whether the selected route is suitable for conveying the data packet until the selected alternate route is deemed suitable for conveying the data packet, Repeating the step of selecting a replacement route for the data packet; And
Transmitting the data packet along the selected alternate route after the selected alternate route is deemed suitable for carrying the data packet
≪ / RTI >
종료 조건이 충족될 때까지, 상기 선택된 루트가 상기 데이터 패킷을 전달하기에 적합한지를 결정하기 위해 상기 선택된 루트를 분석하는 단계 및 상기 이전의 선택된 루트 대신 상기 데이터 패킷에 대한 대체 루트를 선택하는 단계를 반복하는 단계; 및
상기 종료 조건이 충족된 후에 상기 데이터 패킷을 드롭(drop)하는 단계
를 더 포함하는, 방법.The method according to claim 1,
Analyzing the selected route to determine whether the selected route is suitable for delivering the data packet until a termination condition is met and selecting an alternate route for the data packet instead of the previous selected route Repeating; And
Dropping said data packet after said termination condition is met
≪ / RTI >
상기 전송 테이블에서, 상기 노드로부터 상기 목적지로의 2개 이상의 대체 루트를 식별하는 단계;
상기 2개 이상의 대체 루트의 상기 루트 특성들을 비교하는 단계; 및
상기 루트 특성들에 적어도 부분적으로 기초하여 상기 2개 이상의 대체 루트 중에서 상기 선택된 대체 루트를 선택하는 단계
를 포함하는, 방법.2. The method of claim 1, wherein selecting the alternate route for the data packet comprises:
Identifying, in the transfer table, two or more alternate routes from the node to the destination;
Comparing the root characteristics of the at least two alternative routes; And
Selecting the selected alternate route from the at least two alternate routes based at least in part on the route characteristics
/ RTI >
네트워크의 노드를 포함하고, 상기 노드는
데이터 패킷을 수신하고, 상기 노드의 전송 테이블로부터, 상기 노드로부터 상기 데이터 패킷의 목적지로 상기 데이터 패킷을 전송하기 위한 루트를 선택하도록 구성된 라우팅 엔진 - 상기 전송 테이블은 상기 노드로부터 상기 목적지로의 2개 이상의 루트와 관련된, 루트 비용들을 포함하는, 루트 특성들을 포함함 -; 및
상기 라우팅 엔진의 아웃바운드 인터페이스(outbound interface)와 관련된 트래픽 셰이퍼(traffic shaper)
를 포함하고, 상기 트래픽 셰이퍼는
하드웨어 컴퓨팅 디바이스에 의해, 실시간 트래픽 정보에 기초하여, 상기 선택된 루트가 상기 데이터 패킷을 전달하기에 적합한지를 결정하기 위해 상기 선택된 루트를 분석하고;
상기 선택된 루트가 상기 데이터 패킷을 전달하기에 부적합하다고 결정되면, 상기 데이터 패킷을 상기 노드의 상기 라우팅 엔진으로 반환하도록 구성되며;
상기 라우팅 엔진은 이전의 선택된 루트가 상기 데이터 패킷을 전달하기에 부적합하다고 결정되면, 상기 이전의 선택된 루트 대신에 상기 데이터 패킷에 대한 대체 루트를 상기 전송 테이블로부터 선택하도록 더 구성되는, 시스템.As a system,
Comprising a node of the network, the node
A routing engine configured to receive a data packet and select a route from the node's transport table to the destination of the data packet from the node, the transport table comprising two Comprising root properties, including root costs, associated with the above roots; And
A traffic shaper associated with the outbound interface of the routing engine,
, The traffic shaper
Analyze, by the hardware computing device, the selected route based on real-time traffic information, to determine whether the selected route is suitable for delivering the data packet;
And return the data packet to the routing engine of the node if the selected route is determined to be unsuitable for delivering the data packet;
Wherein the routing engine is further configured to select, from the transmission table, a replacement route for the data packet instead of the previous selected route if a previous selected route is determined to be unsuitable for delivering the data packet.
상기 노드는 상기 선택된 대체 루트가 상기 데이터 패킷을 전달하기에 적합한 것으로 간주된 후에 상기 선택된 대체 루트를 따라 상기 데이터 패킷을 전송하도록 구성된 네트워크 인터페이스를 더 포함하는, 시스템.9. The method of claim 8, wherein the traffic shaper repeats the selected route to determine whether the selected route is suitable for delivering the data packet until the selected alternate route is deemed eligible to deliver the data packet. Wherein the routing engine is configured to iteratively select a replacement route for the data packet instead of the previous selected route;
Wherein the node further comprises a network interface configured to transmit the data packet along the selected alternate route after the selected alternate route is deemed suitable for carrying the data packet.
상기 트래픽 셰이퍼는 상기 종료 조건이 충족된 후에 상기 데이터 패킷을 드롭하도록 더 구성되는, 시스템.9. The method of claim 8, wherein until the termination condition is met, the traffic shaper is configured to iteratively analyze the selected route to determine whether the selected route is suitable for delivering the data packet, ≪ / RTI > alternatively selecting a substitute route for said data packet instead of a selected route of said data packet;
The traffic shaper is further configured to drop the data packet after the termination condition is satisfied.
상기 전송 테이블에서, 상기 노드로부터 상기 목적지로의 2개 이상의 대체 루트를 식별하고;
상기 2개 이상의 대체 루트의 상기 루트 특성들을 비교하고;
상기 루트 특성들에 적어도 부분적으로 기초하여 상기 2개 이상의 대체 루트 중에서 상기 선택된 대체 루트를 선택함으로써
상기 데이터 패킷에 대한 상기 선택된 대체 루트를 선택하도록 구성되는, 시스템.9. The system of claim 8, wherein the routing engine
Identifying, in the transfer table, two or more alternate routes from the node to the destination;
Compare the root characteristics of the two or more alternative routes;
And selecting the selected alternate route from the at least two alternate routes based at least in part on the route characteristics
And to select the selected alternate route for the data packet.
네트워크의 노드에서 데이터 패킷을 수신하는 단계;
상기 노드의 전송 테이블로부터, 상기 노드로부터 상기 데이터 패킷의 목적지로 상기 데이터 패킷을 전송하기 위한 루트를 선택하는 단계 - 상기 전송 테이블은 상기 노드로부터 상기 목적지로의 2개 이상의 루트와 관련된, 루트 비용들을 포함하는, 루트 특성들을 포함함 -;
실시간 트래픽 정보에 기초하여, 상기 선택된 루트가 상기 데이터 패킷을 전달하기에 적합한지를 결정하기 위해 상기 선택된 루트를 분석하는 단계;
상기 선택된 루트가 상기 데이터 패킷을 전달하기에 부적합하다고 결정되면, 상기 데이터 패킷을 상기 노드의 라우팅 엔진으로 반환하는 단계; 및
이전의 선택된 루트가 상기 데이터 패킷을 전달하기에 부적합하다고 결정되면, 상기 이전의 선택된 루트 대신에 상기 데이터 패킷에 대한 대체 루트를 상기 전송 테이블로부터 선택하는 단계
를 포함하는, 컴퓨터 프로그램 제품.A computer program product comprising a computer readable storage medium embodying computer readable program code, the computer readable program code being executable by a processor to perform a method,
Receiving a data packet at a node of the network;
Selecting a route from the node's transfer table to transfer the data packet from the node to a destination of the data packet, wherein the transfer table includes route costs associated with two or more routes from the node to the destination Containing root properties;
Analyzing the selected route based on real-time traffic information to determine if the selected route is suitable for delivering the data packet;
Returning the data packet to the routing engine of the node if the selected route is determined to be unsuitable for delivering the data packet; And
Selecting a replacement route for the data packet instead of the previous selected route from the transmission table if a previous selected route is determined to be unsuitable for delivering the data packet;
And a computer program product.
상기 선택된 대체 루트가 상기 데이터 패킷을 전달하기에 적합한 것으로 간주될 때까지, 상기 선택된 루트가 상기 데이터 패킷을 전달하기에 적합한지를 결정하기 위해 상기 선택된 루트를 분석하는 단계 및 상기 이전의 선택된 루트 대신 상기 데이터 패킷에 대한 대체 루트를 선택하는 단계를 반복하는 단계; 및
상기 선택된 대체 루트가 상기 데이터 패킷을 전달하기에 적합한 것으로 간주된 후에 상기 선택된 대체 루트를 따라 상기 데이터 패킷을 전송하는 단계
를 더 포함하는, 컴퓨터 프로그램 제품.16. The method of claim 15,
Analyzing the selected route to determine whether the selected route is suitable for conveying the data packet until the selected alternate route is deemed suitable for conveying the data packet, Repeating the step of selecting a replacement route for the data packet; And
Transmitting the data packet along the selected alternate route after the selected alternate route is deemed suitable for carrying the data packet
The computer program product further comprising:
종료 조건이 충족될 때까지, 상기 선택된 루트가 상기 데이터 패킷을 전달하기에 적합한지를 결정하기 위해 상기 선택된 루트를 분석하는 단계 및 상기 이전의 선택된 루트 대신 상기 데이터 패킷에 대한 대체 루트를 선택하는 단계를 반복하는 단계; 및
상기 종료 조건이 충족된 후에 상기 데이터 패킷을 드롭하는 단계
를 더 포함하는, 컴퓨터 프로그램 제품.16. The method of claim 15,
Analyzing the selected route to determine whether the selected route is suitable for delivering the data packet until a termination condition is met and selecting an alternate route for the data packet instead of the previous selected route Repeating; And
Dropping the data packet after the termination condition is satisfied
The computer program product further comprising:
상기 전송 테이블에서, 상기 노드로부터 상기 목적지로의 2개 이상의 대체 루트를 식별하는 단계;
상기 2개 이상의 대체 루트의 상기 루트 특성들을 비교하는 단계; 및
상기 루트 특성들에 적어도 부분적으로 기초하여 상기 2개 이상의 대체 루트 중에서 상기 선택된 대체 루트를 선택하는 단계
를 포함하는, 컴퓨터 프로그램 제품.16. The method of claim 15, wherein selecting the alternate route for the data packet comprises:
Identifying, in the transfer table, two or more alternate routes from the node to the destination;
Comparing the root characteristics of the at least two alternative routes; And
Selecting the selected alternate route from the at least two alternate routes based at least in part on the route characteristics
And a computer program product.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/469,849 US10075365B2 (en) | 2014-08-27 | 2014-08-27 | Network path selection in policy-based networks using routing engine |
US14/469,849 | 2014-08-27 | ||
PCT/US2015/036335 WO2016032599A1 (en) | 2014-08-27 | 2015-06-18 | Improved network utilization in policy-based networks |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170047315A true KR20170047315A (en) | 2017-05-04 |
KR101897423B1 KR101897423B1 (en) | 2018-09-10 |
Family
ID=53525262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177008008A KR101897423B1 (en) | 2014-08-27 | 2015-06-18 | Improved network utilization in policy-based networks |
Country Status (7)
Country | Link |
---|---|
US (1) | US10075365B2 (en) |
EP (1) | EP3186927B1 (en) |
JP (1) | JP6389564B2 (en) |
KR (1) | KR101897423B1 (en) |
AU (1) | AU2015307190B2 (en) |
CA (1) | CA2959495C (en) |
WO (1) | WO2016032599A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190132018A (en) * | 2018-05-18 | 2019-11-27 | 삼성전자주식회사 | Electronic device for performing network cnnection base on data transmission of application and method thereof |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10075365B2 (en) | 2014-08-27 | 2018-09-11 | Raytheon Company | Network path selection in policy-based networks using routing engine |
US10887217B2 (en) * | 2018-06-29 | 2021-01-05 | Hewlett Packard Enterprise Development Lp | Routing packets based on congestion metric thresholds and weights |
EP3869752B1 (en) * | 2020-02-24 | 2024-02-14 | Moxa Inc. | Device for handling routing paths for streams in a time-sensitive networking network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953312A (en) * | 1996-09-13 | 1999-09-14 | Bay Networks | Method and apparatus for determining alternate routes in a network using a connection-oriented protocol |
KR20130108250A (en) * | 2010-08-11 | 2013-10-02 | 톰슨 라이센싱 | Combining bandwidth aware routing with channel selection and channel switching in a multi-hop wireless home network |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60137406D1 (en) | 2000-03-03 | 2009-03-05 | Luminous Networks Inc | ROUTE SWITCH FOR DYNAMIC TRANSPORT DUE TO CONNECTION FAULT RECOGNITION |
US7133365B2 (en) | 2001-11-02 | 2006-11-07 | Internap Network Services Corporation | System and method to provide routing control of information over networks |
JP2004236050A (en) | 2003-01-31 | 2004-08-19 | Anritsu Corp | Load distributed type repeater and load distributed type relaying method |
US8223632B2 (en) | 2003-12-23 | 2012-07-17 | At&T Intellectual Property I, L.P. | Method and system for prioritized rerouting of logical circuit data in a data network |
US7742399B2 (en) | 2006-06-22 | 2010-06-22 | Harris Corporation | Mobile ad-hoc network (MANET) and method for implementing multiple paths for fault tolerance |
US7599314B2 (en) * | 2007-12-14 | 2009-10-06 | Raptor Networks Technology, Inc. | Surface-space managed network fabric |
US8553541B2 (en) * | 2008-06-13 | 2013-10-08 | Telefonaktiebolaget Lm Ericsson | Network traffic transfer between a radio base station node and a gateway node |
US8351429B2 (en) | 2009-05-13 | 2013-01-08 | Avaya Inc. | Method and apparatus for providing fast reroute of a packet that may be forwarded on one of a plurality of equal cost multipath routes through a network |
US8165121B1 (en) | 2009-06-22 | 2012-04-24 | Juniper Networks, Inc. | Fast computation of loop free alternate next hops |
US8489722B2 (en) | 2009-11-24 | 2013-07-16 | International Business Machines Corporation | System and method for providing quality of service in wide area messaging fabric |
US20120113810A1 (en) * | 2010-07-01 | 2012-05-10 | Tell Radius, L.C. | Toll-based routing |
US20140211630A1 (en) * | 2011-09-28 | 2014-07-31 | Vincent E. Cavanna | Managing packet flow in a switch faric |
US9451500B2 (en) | 2011-11-16 | 2016-09-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Conditional routing technique |
US10075365B2 (en) | 2014-08-27 | 2018-09-11 | Raytheon Company | Network path selection in policy-based networks using routing engine |
-
2014
- 2014-08-27 US US14/469,849 patent/US10075365B2/en active Active
-
2015
- 2015-06-18 KR KR1020177008008A patent/KR101897423B1/en active IP Right Grant
- 2015-06-18 EP EP15735783.1A patent/EP3186927B1/en active Active
- 2015-06-18 JP JP2017510875A patent/JP6389564B2/en active Active
- 2015-06-18 WO PCT/US2015/036335 patent/WO2016032599A1/en active Application Filing
- 2015-06-18 AU AU2015307190A patent/AU2015307190B2/en active Active
- 2015-06-18 CA CA2959495A patent/CA2959495C/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953312A (en) * | 1996-09-13 | 1999-09-14 | Bay Networks | Method and apparatus for determining alternate routes in a network using a connection-oriented protocol |
KR20130108250A (en) * | 2010-08-11 | 2013-10-02 | 톰슨 라이센싱 | Combining bandwidth aware routing with channel selection and channel switching in a multi-hop wireless home network |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190132018A (en) * | 2018-05-18 | 2019-11-27 | 삼성전자주식회사 | Electronic device for performing network cnnection base on data transmission of application and method thereof |
Also Published As
Publication number | Publication date |
---|---|
EP3186927A1 (en) | 2017-07-05 |
WO2016032599A1 (en) | 2016-03-03 |
US10075365B2 (en) | 2018-09-11 |
KR101897423B1 (en) | 2018-09-10 |
US20160065447A1 (en) | 2016-03-03 |
JP2017526293A (en) | 2017-09-07 |
CA2959495A1 (en) | 2016-03-03 |
CA2959495C (en) | 2022-10-04 |
JP6389564B2 (en) | 2018-09-12 |
AU2015307190B2 (en) | 2019-07-11 |
AU2015307190A1 (en) | 2017-03-02 |
EP3186927B1 (en) | 2019-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9942156B1 (en) | Flow level dynamic load balancing | |
US11722421B2 (en) | Path selection for an application based on a performance score in a software-defined network | |
CN111770028B (en) | Method and network device for computer network | |
EP3516833B1 (en) | Methods, systems, and computer readable media for discarding messages during a congestion event | |
US8023504B2 (en) | Integrating security server policies with optimized routing control | |
JP5538257B2 (en) | Bandwidth monitoring device and packet relay device | |
JP2019523621A (en) | Intelligent adaptive transport layer that uses multiple channels to improve performance | |
US9197544B2 (en) | Comprehensive multipath routing for congestion and quality-of-service in communication networks | |
JP2004528775A (en) | System and method for guaranteeing network service level for intelligent delivery | |
US10135736B1 (en) | Dynamic trunk distribution on egress | |
EP3226509B1 (en) | Dynamic prioritization of network traffic based on reputation | |
KR101897423B1 (en) | Improved network utilization in policy-based networks | |
Ye et al. | Delay-based network utility maximization modelling for congestion control in named data networking | |
Bedi et al. | Mitigating congestion based DoS attacks with an enhanced AQM technique | |
WO2017162193A1 (en) | Dynamic switching control over multiple internet services provided for home networks | |
US11240140B2 (en) | Method and system for interfacing communication networks | |
Divakaran | A spike-detecting AQM to deal with elephants | |
Xu | Adaptive flow admission control in a software-defined network | |
Takeshi et al. | Improving network throughput on application by weighting subflows of muti-path TCP adapted to conditions | |
Rodríguez-Pérez et al. | A delay-oriented prioritization policy based on cooperative lossless buffering in PTN domains | |
Manzoor et al. | CHOKeD: fair active queue management | |
TW202347997A (en) | Feedback-based dynamic network flow remapping | |
JP2011018965A (en) | Traffic control system, method, and program | |
Phinjirapong | CAFFEINE: Congestion Avoidance For Fairness & Efficiency In Network Entities | |
Divakaran | Using spikes to deal with elephants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |