KR100811727B1 - 부하분산방법, 노드 및 제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체 - Google Patents

부하분산방법, 노드 및 제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체 Download PDF

Info

Publication number
KR100811727B1
KR100811727B1 KR20067012833A KR20067012833A KR100811727B1 KR 100811727 B1 KR100811727 B1 KR 100811727B1 KR 20067012833 A KR20067012833 A KR 20067012833A KR 20067012833 A KR20067012833 A KR 20067012833A KR 100811727 B1 KR100811727 B1 KR 100811727B1
Authority
KR
South Korea
Prior art keywords
packet
path
transmission
node
time
Prior art date
Application number
KR20067012833A
Other languages
English (en)
Other versions
KR20060101783A (ko
Inventor
쓰네오 나카타
유스케 노구치
Original Assignee
닛본 덴끼 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 닛본 덴끼 가부시끼가이샤 filed Critical 닛본 덴끼 가부시끼가이샤
Publication of KR20060101783A publication Critical patent/KR20060101783A/ko
Application granted granted Critical
Publication of KR100811727B1 publication Critical patent/KR100811727B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate

Abstract

경로상태정보가 갱신되는 경우, 그 갱신이 유효로 되는 시간이 기록된다. 새로운 상태정보와 유효시간이후의 데이터송신이력에 기초해 각 경로의 패킷의 도착시간이 예측된다. 패킷의 도착시간이 제일 빠른 경로에 패킷이 송신된다. 이는 수신측에서 이용할 수 있는 경로상태를 과거에 송신한 데이터에도 반영시켜 실제 데이터의 도착시간, 또는 수신완료시간에 가까운 도착시간 또는 수신완료시간이 예측될 수 있다.
트래픽분산, 데이터송신이력, 패킷식별정보, 수신완료시간, 통신속도

Description

부하분산방법, 노드 및 제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체{Load distributing method, node, and record medium readable by computer recorded control program}
본 발명은 다수의 통신경로를 이용할 수 있는 2노드 사이의 통신방식에 관한 것이다. 특히, 본 발명은 송신노드에 의한 경로간의 부하분산의 기술에 관한 것이다.
2노드 사이의 다수의 경로에 있어서, 송신측은 각 경로에 트래픽을 분산하여 입력하고 수신측은 각 경로로부터 이들을 재통합한다. 따라서, 단일경로가 사용되는 경우에 비해 원리적으로 높은 전송율이 얻어질 수 있다. 이런 메카니즘은 경로를 조합하여 하나의 논리적인 경로를 구성하는 기술에 관한 것이다. 대표적으로 Inversing Multiplexing 이라는 것으로, 복수의 저속링크로 논리적인 광대역회선을 얻을 목적으로 이용된다. 데이터통신으로의 적용예로서 ATM회선의 다중화 및 PPM링크의 다중화프로토콜인 Multiplexing PPP가 있다.
경로를 조합하는 것에 의해 하나의 논리적인 경로를 형성하는 Inverse Mutiplexing에 의한 대표적인 트래픽분산방식으로서, 예를 들어, 각 경로에 순차로 패킷 또는 프래그먼트를 송신하는 라운드로빈 방식(round robin scheme)이 널리 이용되고 있다(예를 들어, 비특허문서 1에 언급됨). 이 방법은 각 경로의 속도가 거의 동일하고 일정할 때 효과적이다. 그러나, 문제는 경로들 간의 속도가 불균형일 때 노드간 전송속도가 최저속도인 경로로 속도가 제어되는 문제점이 있다.
이런 문제점을 대응하기 위해, 속도에 따른 각 경로의 사용주파수를 제어하기 위한 가중라운드로빈(weighted round robin)이 알려져 있다. 라운드로빈은 경로를 조합하여 하나의 논리적인 경로를 형성하는 기술에 대응하는 루터제품에 실장되어 있다. Cisco사 등의 제품은 입력패킷을 해싱하여 출력경로를 결정하는 최적부하분산을 꾀하는 방법을 이용한다. 이런 정보들은 회사의 공개문헌에 개시되어 있다(예를 들어, 비특허문헌2).
상술한 잘 알려진 기술 중에 하나는 각 경로가 유선링크만으로 구성되는 것을 상정한다.
경로를 조합하여 하나의 논리적인 경로를 구성하는 기술로서, 무선링크를 포함하는 경로가 제안된다. 이 제안된 방식에서는, 입력패킷이 프래그먼트들을 분할하여 이들을 각 경로에 할당하지만, 각 프래그먼트 크기의 비율은 송신시의 각 경로의 속도에만 대응하여 변경된다(예를 들어, 비특허문헌3 및 특허문헌6).
복수경로가 선택가능한 통신시스템에서, 각 경로의 상태를 감시하고 그 경로상태나 지연시간을 고려하여 경로를 선택하는 기술도 제안되어 있다(예를 들어, 특허문헌1, 특허문헌2, 특허문헌3, 특허문헌4, 및 특허문헌5).
특허문헌1: 일본공개특허공보 제2000-49862호
특허문헌2: 일본공개특허공보 제2001-308917호
특허문헌3: 일본공개특허공보 제2001-333100호
특허문헌4: 일본공개특허공보 제2002-176441호
특허문헌5: 일본공개특허공보 소58-27449호
특허문헌6: 일본공개특허공보 제2000-216815호
비특허문헌1:“Stripping Within the Network Subsystem", IEEE Network, July/AUGUST, 1995
비특허문헌2: Cisco system "Load Balancing with Cisco Express Forwawding", Cisco Application Note, Jan.1998
비특허문헌3: "Adaptive Inverse Multiplexing for Wide-Area Wireless Networks", Snoeren et al, Proceeding of IREE GlobeCom, Dec. 1999
2노드 사이의 경로에 무선링크가 있는 종래기술에 있어서, 송신경로선택을 위한 선택기준으로서 송신노드가 각 경로의 속도나 지연을 참조로 한다. 그러나, 속도나 지연이 동적으로 변화하는 무선링크를 포함하는 경로는 경로상태의 측정오차가 쉽게 누적되기 때문에 전송될 패킷이 수신노드측에 도착하는 시간이나 수신완료시간을 정확히 예측하는 것이 어렵다. 그 결과, 예측결과에 따라 경로선택이 되는 경우, 실제로는 속도가 현저히 저하된 경로가 선택된다. 따라서, 다중화 효율이 저하되는 문제점이 있다.
송신패킷의 도착시간이나 수신완료시간을 예측하는 종래기술은 도 8을 참조로 하여 이하에서 설명될 것이다.
도 8을 참조로 하면, 부호 700-1, 700-2, 및 700-3은 각각 데이터패킷을 나타낸다. 송신측 노드에서의 패킷송신역사(실선), 수신측에서의 패킷수신역사(실선) 및 패킷도착시간 및 수신완료시간의 예측(점선)이 각각 시간축에 나타나 있다.
우선, 실제 패킷송신 및 수신을 위해, 송신노드는 데이터패킷 700-1을 시간 T1에서 송신하기 시작하고 시간 T2에서 전송동작을 완료한다. 수신노드는 시간 T3에서 패킷 700-1을 수신하기 시작하고 시간 T5에서 수신을 완료한다.
이후, 송신노드는 시간 T4에서 데이터패킷 700-2를 송신하기 시작하고 시간 T7에서 송신을 완료한다. 수신노드는 통신속도의 감소 때문에 시간 T6에서 데이터패킷 700-2를 수신하기 시작하고 시간 T11에서 수신을 완료한다.
또한, 송신노드는 시간 T8에서 데이터패킷 700-3을 송신하기 시작하고 시간 T9에서 송신을 완료한다. 수신노드는 시간 T12에서 데이터패킷 700-3을 수신하고 시간 T13에서 수신을 완료한다.
한편, 종래기술에서, 패킷도착시간 및 수신완료시간이 데이터패킷 700-1의 수신완료시에 수신노드로부터 발생한 전송속도와 같은 경로상태정보를 근거로 예측된다.
도 8을 참조로 하면, 예를 들면, 송신노드는 시간 TX에서 수신노드로부터 경로상태정보를 수신한다. 데이터패킷 700-3의 도착시간 및 수신완료시간을 예측하기 위해, 송신노드는 시간 TX에서 경로상태정보를 사용한다. 그 결과, 송신노드는 송신지연 I1을 알 수 있고 데이터패킷 700-3의 송신시간 T8에 송신지연I1을 더한 시간 T10에서 데이터패킷 700-3의 도착시간을 예측할 수 있다.
그러나, 데이터패킷 700-3의 실제 도착시간은 T12이고 예측된 도착시간 T10은 ID만큼 오차를 가진다.
실제 시간에 비해 큰 오차를 가진 예측은 잘못된 경로선택을 행하고 따라서 다중화 효율의 저하를 초래한다.
이러한 문제는 예측시간에서의 경로상태가 실시간으로 얻어질 수 있고, 경로상태가 전송시에 반영된다면 해결될 수 있다. 그러나, 실시간으로 현재경로상태를 수신하고 송신하는 것은 실제로 불가능하다.
본 발명은 상술한 문제점의 관점에서 이루어졌다. 본 발명의 목적은 수신측에서 입수한 경로상태를 과거에 송신한 데이터에도 반영하고 실제데이터의 도착시간 또는 수신완료시간에 가까운 도착시간 또는 수신완료시간을 예측하는 기술을 제공하는 것이다.
본 발명의 다른 목적은 높은 다중화 효율을 제공하는 기술을 제공한다. 이 기술에서, 데이터가 다수의 경로를 선택할 수 있는 2노드간에 송신되는 경우, 수신측으로부터 얻어진 경로상태가 과거에 송신된 데이터에 반영된다. 실제도착시간이나 수신완료시간에 가까운 도착시간 또는 수신완료시간이 예측되고 경로선택이 이 예측을 기초로 이루어진다.
또한, 본 발명의 다른 목적은 다수의 경로가 선택될 수 있는 2노드간 데이터전송에서 각 경로의 성능이 동적으로 변화되고 이 시정수에 비해 무시할 수 없이 큰 라운드트립 지연이 존재하는 경우에도 효율적으로 경로리소스를 사용할 수 있는 기술을 제공하는 것이다.
본 발명은 상술한 문제점들을 해결하기 위해 이루어졌다. 본 발명의 제1면은 부하분산방법에 있어서, 다수의 통신경로들을 선택할 수 있는 2노드간에 있어서, 송신측노드에 입력되는 모든 패킷마다 선택가능한 경로의 경로상태정보, 상기 경로상태정보가 유효로 되는 시간 또는 송신되는 패킷의 식별정보 및 상기 경로상태정보가 유효로 되는 시간 이후의 송신이력 또는 송신되는 패킷의 식별정보로 특정되는 패킷의 송신이후의 송신이력에 기초해 경로선택 또는 경로선택우선도의 갱신을 행하는 단계를 포함하는 부하분산방법이다.
본 발명의 제2면은 부하분산방법에 있어서, 다수의 통신경로를 선택할 수 있는 2노드간에 있어서, 송신측노드에 입력되는 패킷마다 선택가능한 경로의 경로상태를 감시하고, 그 경로상태의 경로상태정보와 이 경로상태정보가 유효로 되는 시간 또는 패킷의 식별정보를 기억하는 단계; 경로상태정보와 상기 경로상태정보가 유효로 되는 시간 이후의 패킷의 송신이력 또는 상기 송신되는 패킷의 식별정보로 특정되는 패킷의 송신이후의 패킷의 송신이력에 기초해 각 경로에서의 도착예상시간을 추정하는 단계; 및 상기 추정된 도착예상시간에 기초해 경로선택 또는 선택우선권을 갱신하는 단계를 포함하는 부하분산방법이다.
본 발명의 부하분산방법에 있어서, 경로상태정보는 경로의 지연을 포함한다.
본 발명의 부하분산방법에 있어서, 상기 경로상태정보는 경로의 통신속도를 포함한다.
본 발명의 부하분산방법에 있어서, 상기 경로상태정보는 경로의 부하를 포함한다.
본 발명의 부하분산방법에 있어서, 경로상태정보가 경로의 선택 또는 선택우선도의 갱신을 위해 갱신되는 경우, 각 경로의 경로상태정보를 갱신하기 이전에 송신된 패킷에 관한 송신코스트계산결과에 수정을 가하는 단계를 더 포함한다.
본 발명의 부하분산방법에 있어서, 각 경로의 송신코스트계산결과가 수정되는 경우, 최신의 경로상태정보가 유효로 되는 시간 이후 또는 최초의 송신된 패킷 이전의 이력을 파기하는 단계를 더 포함한다.
본 발명의 부하분산방법에 있어서, 패킷송신경로로서 수신측노드에서의 수신완료시간의 추정값이 제일 빠른 경로를 선택하는 단계를 더 포함한다.
본 발명의 부하분산방법에 있어서, 패킷송신경로로서 수신측노드에서 특정시간까지 수신완료될 수 있는 데이터량의 추정값이 최대인 경로를 선택하는 단계를 더 포함한다.
본 발명의 부하분산방법에 있어서, 각 경로에 추정된 현재의 경로상태에 따라 데이터의 송신을 중단한다.
본 발명의 부하분산방법에 있어서, 상기 데이터의 송신을 중단하기 위한 기준은 추정수신완료시간이 특정값 이상인 것이다.
본 발명의 부하분산방법에 있어서, 경로선택 또는 송신중단은 송신데이터의 속성마다 다른 폴리시에 따라 결정된다.
본 발명의 부하분산방법에 있어서, 수신패킷의 수신지어드레스에 대응하는 통신인터페이스를 통신인터페이스의 어드레스와 상기 통신인터페이스를 이용해 도달하는 수신지어드레스와 관련된 표로부터 선택하는 단계; 상기 수신패킷이 송신원어드레스 또는 통신인터페이스를 지정하는 정보를 가지는 경우, 상기 송신원어드레스 또는 통신인터페이스에 대응하는 통신인터페이스를 상기 선택된 통신인터페이스로부터 선택하는 단계; 상기 수신패킷이 송신원어드레스 또는 통신인터페이스에 관한 정보를 가지지 않는 경우, 상기 선택된 통신인터페이스 중에서 임의의 통신인터페이스를 선택하는 단계; 및 상기 수신패킷을 선택된 통신인터페이스에 송출하는 단계를 더 포함한다.
본 발명의 다른 면은, 다수의 패킷송신경로를 선택할 수 있는 노드에 있어서, 입력된 패킷마다 선택가능한 각 경로에 대한 경로상태정보, 상기 경로상태정보가 유효로 되는 시간 또는 송신되는 패킷의 식별정보, 및 상기 경로상태정보가 유효로 되는 시간 이후의 송신이력 또는 송신되는 패킷의 식별정보로 특정되는 패킷의 송신이후의 송신이력에 기초해, 경로선택 또는 선택우선도의 갱신을 행하는 수단을 포함한다.
다수의 패킷송신경로를 선택할 수 있는 노드에 있어서, 송신측노드에 입력된 패킷마다 선택가능한 각 경로의 경로상태를 감시하고 그 경로상태의 경로상태정보와 이 경로상태정보가 유효로 되는 시간 또는 패킷식별정보를 감시하는 감시수단; 상기 경로상태정보와 이 경로상태정보가 유효로 되는 이후의 패킷송신이력이 저장된 메모리수단; 및 상기 경로상태정보와 이 경로상태정보가 유효로 되는 이후의 패킷송신이력에 기초해 각 경로에서의 패킷의 도착예상시간을 추정하고 상기 추정된 도착예상시간에 기초해 경로의 선택 또는 선택우선도의 갱신을 행하는 스케줄수단을 포함한다.
본 발명의 노드에 있어서, 상기 경로상태정보는 경로의 지연을 포함한다.
본 발명의 노드에 있어서, 상기 경로상태정보는 경로의 통신속도를 포함한다.
본 발명의 노드에 있어서, 상기 경로상태정보는 경로의 부하를 포함한다.
본 발명의 노드에 있어서, 상기 스케줄수단은 경로의 선택 또는 선택우선도의 갱신시에 각 경로의 경로상태정보가 갱신되는 경우, 갱신 이전에 송신된 패킷에 관한 송신코스트계산결과를 수정한다.
본 발명의 노드에 있어서, 상기 스케줄수단은 각 경로의 송신코스트계산결과가 수정되는 경우, 최신의 경로상태정보를 유효로 하는 최초의 송신된 패킷 이전의 이력을 파기한다.
본 발명의 노드에 있어서, 상기 스케줄수단은 패킷송신경로로서 수신측노드에서의 수신완료시간의 추정값이 제일 빠른 경로를 선택한다.
본 발명의 노드에 있어서, 상기 스케줄수단은 패킷송신경로로서, 수신측노드에서 특정시간까지 수신완료될 수 있는 데이터량의 추정값이 최대인 경로를 선택한다.
본 발명의 노드에 있어서, 상기 스케줄수단은 각 경로에 대해 추정되는 현재의 경로상태에 대응하여 데이터의 송신을 중단한다.
본 발명의 노드에 있어서, 상기 데이터송신의 중단을 위한 기준은 추정수신완료시간이 특정값 이상인 것이다.
본 발명의 노드에 있어서, 상기 스케줄수단은 경로선택 또는 송신의 중단을 송신데이터의 속성 마다 다른 폴리시에 따라 판단한다.
본 발명에 따른 노드에 있어서, 통신인터페이스의 어드레스와 상기 통신인터페이스를 이용하여 도달할 수 있는 수신지어드레스가 관련된 표; 및 송신되는 패킷의 수신지어드레스에 대응하는 통신인터페이스를 상기 표로부터 선택하고, 상기 송신패킷이 송신원어드레스 또는 통신인터페이스를 지정하는 정보를 가지는 경우에는 상기 송신원어드레스 또는 통신인터페이스에 대응하는 통신인터페이스를 상기 선택된 통신인터폐이스로부터 선택하고, 선택된 송신인터페이스에 상기 송신패킷을 송출하는 루팅수단을 더 포함한다.
본 발명의 다른 면은, 다수의 패킷송신경로를 선택할 수 있는 노드를 이용할 수 있는 노드제어프로그램에 있어서, 상기 노드제어프로그램은 노드를, 입력된 패킷마다 선택가능한 각 경로에 대한 경로상태정보, 상기 경로상태정보가 유효로 되는 시간 또는 송신되는 패킷의 식별정보, 및 상기 경로상태정보가 유효로 되는 시간 이후의 송신이력 또는 송신되는 패킷의 식별정보로서 특정되는 패킷의 송신이후의 송신이력에 기초해 경로의 선택 또는 선택우선도를 갱신하는 수단으로서 제어한다.
본 발명에 따른 다른 면에 있어서, 다수의 패킷송신경로를 선택할 수 있는 노드를 이용할 수 있는 노드제어프로그램에 있어서, 상기 노드제어프로그램은 노드를, 송신측노드에서 입력되는 패킷마다 선택가능한 각 경로의 경로상태를 감시하고 상기 경로상태의 경로상태정보와 상기 경로상태정보를 유효로 하는 시간 또는 패킷의 식별정보를 감시하는 감시수단; 및 상기 경로상태정보와 이 경로상태정보가 유효로 되는 이후의 패킷의 송신이력에 기초해 각 경로에서의 패킷도착예상시간을 추정하고, 상기 추정된 도착예상시간에 기초해 경로의 선택 또는 선택우선도를 갱신하는 스케줄수단으로서 제어한다.
본 발명의 노드제어프로그램에 있어서, 상기 경로상태정보는 경로의 지연을 포함한다.
본 발명의 노드제어프로그램에 있어서, 상기 경로상태정보는 경로의 통신속도를 포함한다.
본 발명의 노드제어프로그램에 있어서, 상기 경로상태정보는 경로의 부하를 포함한다.
본 발명의 노드제어프로그램은 경로의 선택 또는 선택우선도의 갱신시에 각 경로의 경로상태정보가 갱신되는 경우 갱신이전에 송신된 패킷에 관한 송신코스트계산결과를 수정하기 위해 상기 스케줄수단을 제어한다.
본 발명의 노드제어프로그램은 각 경로의 송신코스트계산결과가 수정될 때 최신의 경로상태정보를 유효로 하는 최초의 송신되는 패킷 이전의 이력을 파기하기 위해 상기 스케줄수단을 제어한다.
본 발명의 노드제어프로그램은 패킷송신경로로서 수신측노드에서의 수신완료시간의 추정값이 제일 빠른 경로를 선택하기 위해 상기 스케줄수단을 제어한다.
본 발명의 노드제어프로그램은 패킷송신경로로서 수신측노드에서 특정시간까지 수신완료될 수 있는 데이터량의 추정값이 최대인 경로를 선택하기 위해 상기 스케줄수단을 제어한다.
본 발명의 노드제어프로그램은 각 경로에 대해 추측되는 현재의 경로상태에 따라 데이터의 송신을 중단하기 위해 상기 스케줄수단을 제어한다.
본 발명의 노드제어프로그램에 있어서, 상기 데이터송신의 중단을 위한 기준은 추정수신완료시간이 특정값 이상인 것이다.
본 발명의 노드제어프로그램은 송신데이터의 속성 마다 다른 폴리시에 따라 경로선택 또는 송신중단을 판단하기 위해 상기 스케줄수단을 제어한다.
본 발명의 노드제어프로그램은 송신되는 패킷의 수신지어드레스에 대응하는 통신인터페이스를 통신인터페이스의 어드레스와 이 통신인터페이스를 이용하여 도달할 수 있는 수신지어드레스에 관련된 표에서 선택하고, 상기 송신되는 패킷이 송신원어드레스 또는 통신인터페이스를 지정하는 정보를 가진 경우에는 상기 송신원어드레스 또는 통신인터페이스에 대응하는 통신인터페이스를 상기 선택된 통신인터페이스에서 선택하고, 상기 선택된 통신인터페이스에 상기 송신되는 패킷을 송출하는 루팅수단으로서 기능시킨다.
본 발명의 다른 면에 있어서, 송신패킷의 도착시간 또는 수신완료시간을 추정하는 송신패킷의 시간추정방법에 있어서, 송신측노드에서 송신된 송신패킷에 패킷식별을 위한 패킷식별정보를 부가한 후 송신하는 단계; 송신측노드에서 송신된 패킷의 송신이력을 패킷식별정보와 함께 저장하는 단계; 수신노드측에서 경로상태의 정보를 이 경로상태에 수신된 최후의 패킷에 관한 패킷식별정보와 함께 송신측노드에 송신하는 단계; 및 수신노드측에서 경로상태정보와 상기 경로상태의 정보에 포함된 패킷식별정보로 특정된 패킷 이후에 송신된 패킷의 송신이력에 기초해 송신되도록 도착시간 또는 수신완료시간을 추정하는 단계를 포함한다.
본 발명의 다른 면에 있어서, 노드는 송신패킷에 패킷식별을 위한 패킷식별정보를 부가하여 송신하는 수단; 송신된 패킷의 송신이력을 패킷식별정보와 함께 저장하는 수단; 수신측으로부터 송신된 경로상태정보를 수신하고 이 경로상태와 이 경로상태를 유효로 하는 패킷 이후에 송신된 패킷의 송신이력에 기초해 송신되도록 패킷의 도착시간 또는 수신완료시간을 추정하는 수단을 포함한다.
본 발명의 다른 면에 있어서, 패킷을 송신하는 노드를 위한 노드제어프로그램으로서, 상기 제어프로그램은 상기 노드를, 송신패킷에 패킷식별을 위한 패킷식별정보를 부가하여 송신하는 수단; 송신된 패킷의 송신이력을 패킷식별정보와 함께 저장하는 수단; 수신측으로부터 송신된 경로상태정보를 수신하고 이 경로상태와 이 경로상태를 유효로 하는 패킷 이후에 송신된 패킷의 송신이력에 기초해 송신되도록 하는 패킷의 도착시간 또는 수신완료시간을 추정하는 수단으로서 기능시킨다.
본 발명에 있어서, 데이터(패킷)송신시에 송신데이터(패킷)의 송신이력이 저장된다. 송신이력에는, 예를 들어, 송신데이터(패킷)를 식별하는 식별자 및 송신개시시간을 들 수 있다. 수신측에서는 데이터(패킷)가 통하는 경로의 상태정보(예를 들어, 속도 또는 패킷지연)를 송신측에 송신한다. 이 경로상태정보에는 상술한 데이터(패킷)의 식별자와 같이 경로상태정보가 적용되는 최신의 데이터(패킷)를 식별하는 정보를 포함한다.
송신측에서는 경로의 상태정보를 수신한다. 이 경로상태에 포함되어 있는 데이터(패킷)를 식별하는 정보(예를 들어, 식별자)를 사용하여 송신측은 이 경로상태를 유효로 하는 송신된 데이터(패킷)를 송신이력으로부터 얻는다. 얻은 데이터(패킷) 이후의 데이터에 대해서 수신된 경로상태를 적용하여 수신완료시간이 예측된다. 또한, 이 예측과 수신된 상태정보에 기초해 각 경로에서 송신된 데이터의 도착시간 또는 수신완료시간이 예측된다.
경로선택에 있어서는 예측된 데이터의 도착시간 또는 수신완료시간에 기초하여 최적의 경로, 예를 들어, 도착시간이 가장 빠른 것으로 예측되는 경로가 선택된다.
도 1은 본 발명에 따른 노드간 경로를 설명하는 도면이다.
도 2는 송신측노드의 구성을 설명하는 도면이다.
도 3은 본 발명의 실시예에 따른, 송신측노드의 패킷처리의 타이밍과 수신측노드의 패킷처리의 타이밍을 설명하는 도면이다.
도 4는 실시예에 따른 스케줄부의 동작흐름도이다.
도 5는 본 발명의 다른 실시예에 따른 송신측노드에서의 패킷처리의 타이밍과 수신측노드의 패킷처리의 타이밍을 설명하는 도면이다.
도 6은 다른 실시예에 따른 스케줄부의 동작흐름도이다.
도 7은 실시예에 따른 송신측에서의 도착시간 또는 수신완료시간의 예측 및 수신측에서의 도착시간 또는 수신완료시간의 예측을 설명하는 도면이다.
도 8은 종래기술을 설명하는 도면이다.
도 9는 통신인터페이스가 개별 IP어드레스를 가진 구성예를 보여준다.
도 10은 도 9의 시스템에서 송신노드 100-2의 내부구성을 설명하는 도면이 다.
도 11은 IP루팅처리부(1318)를 설명하는 도면이다.
도 12는 경로제어테이블(1312)을 설명하는 도면이다.
도 13은 IF어드레스관리테이블(1322)을 설명하는 도면이다.
도 14는 메모리부(315-2)에 보존되는 경로-통신인터페이스대응테이블(1330)을 설명하는 도면이다.
도 15는 송신 IP패킷생성테이블(1510)의 구성을 보여준다.
도 16은 송출IP패킷(1610)의 구성을 보여준다.
도 17은 송신IF판정/송출처리부(1320)의 송신IF결정의 흐름도이다.
도 18은 다른 송신IP패킷생성데이터를 설명하는 도면이다.
도 19는 다른 송출IP패킷을 설명하는 도면이다.
도 20은 송신IF판정/송출처리부(1320)의 다른 송신IF결정에 대한 흐름도이다.
도 21은 경로제어테이블(1321)의 일 예를 설명하는 도면이다.
*도면의 주요부분에 대한 설명*
10: 데이터생성노드 11: 수신노드
100: 송신노드 101: 수신노드
102: 유선네트워크 200: 무선송신수단
201: 무선수신수단 202: 무선링크
300: 무선네트워크 310: 통신인터페이스
312: 대기부 313: 스케줄부
314: 경로상태감시부 315: 메모리부
본 발명을 실시하기 위한 최선의 형태가 이하에서 설명된다.
본 발명의 일면은 지연뿐만 아니라 속도가 동적으로 변화하는 복수의 경로, 특히 무선링크를 포함하는 경로를 조합하여 하나의 논리적인 경로를 구성하는 기술에 적용된다. 이하에서는 복수의 경로들을 조합하여 하나의 논리적인 경로를 구성하는 기술의 예로서 Inversing Multiplexing이 설명될 것이다.
도 1은 본 실시예의 구성예를 보여준다.
도 1을 참조하면, 데이터생성노드(10) 및 노드(11)간의 경로에 inverse multiplexing을 행하는 송신노드(100) 및 수신노드(101)가 존재한다. 송신노드(100)와 수신노드(101) 간에는 세 개의 경로가 있다. 무선송신수단 200-1 내지 200-3 및 무선수신수단 201-1 내지 201-3 간의 통신경로에는 각각 무선링크 202-1 내지 202-3이 있다. 세 개의 경로가 도 1에 도시되어 있지만 2이상의 경로가 배치될 수 있다. 전송노드와 수신노드 간의 모든 경로들은 무선으로 구성될 수 있다. 그러나, 경로들은 일반적으로 유선네트워크(102)를 포함한다. 일반적으로 각 무선링크는 다른 무선네트워크(300)에 속한다. 이 예에서, 경로 202-1, 202-2는 셀룰러 네트워크 300-1이고 무선네트워크 300-2는 무선LAN이다.
도 1의 시스템에서, 송신노드(100)는 데이터생성노드(10)에 의해 수신된 트래픽을 상태정보에 기초해 각 경로에 분배한다. 수신노드(101)는 각 경로를 경유한 송신노드(100)로부터의 트래픽을 재통합하고 수신지노드(11)에 송신한다.
송신노드(110)의 내부구성이 도 2에서 보여진다.
통신인터페이스 310-1은 수신지노드(11)를 향해 데이터생성노드(10)로부터 송신된 트래픽을 수신한다. inverse multiplexing링크의 송신측통신인터페이스 310-2 또는 310-3은 대기부(312) 및 스케줄부(313)를 경유해 트래픽을 송신한다. 어떤 경우에는 복수의 경로들이 송신노드에 가까운 물리링크를 공유한다. 따라서, inverse multiplexing link를 구성하는 경로는 반드시 1대1로 통신인터페이스에 대응하지는 않는다.
스케줄부(313)는 대기부(312)에서 입력데이터를 얻고 특정경로로 송신한다. 얻은 데이터의 전송을 위한 경로선택은 경로상태감시부(314)에 의해 관리되는 경로의 상태를 참조하여 실시된다. 경로상태감시부(314)는 수신노드(101)로부터 통신인터페이스 301-2 또는 310-3을 통해 단속적으로 각 경로의 상태정보 및 갱신이 유효하게 되는 송신패킷을 식별하는 정보(이하, 리포트라 한다)를 수신한다. 따라서, 경로상태감시부(314)는 이를 기초로 메모리부(315)에 저장된 경로상태정보를 갱신한다.
경로상태정보는 일반적으로 통신성능의 지표로 되는 정보일반을 나타낸다. 본 실시예는 경로상태정보에서 경로속도 및 패킷지연을 이용한다. 경로상태정보의 유효시는 송신노드에서의 경로상태정보의 갱신시를 의미하지 않고 경로가 경로상태정보로 나타내어지는 경로상태로 되는 시간이나 이 경로상태에서의 전송되는 패킷으로 특정되는 시간을 의미한다. 따라서, 경로상태정보의 유효시 이후의 송신이력 은 경로상태정보의 유효시 이후에 송신된 패킷의 송신이력을 의미한다. 이 시간은 이 시간측정을 위해 사용된 본래의 패킷정보(패킷을 식별하는 식별자) 또는 수신노드로부터 송신된 수신시간에 기초하여 얻어진다. 그러나, 이 시간은 다소 변화된다. 수신노드가 속도와 지연을 측정하여 경로상태정보를 얻는 다양한 방법이 제안되어왔다. 본 실시예의 방법이 이하에서 설명될 것이다.
송신노드(100)는 수신노드(101)로 송신되는 각 패킷에 식별자와 송신시간을 삽입하고 조합된 데이터를 송신한다. 수신노드는 송신노드에 삽입된 송신시각과 자신이 패킷을 수신한 시간을 비교하여 패킷지연을 측정한다. 송신노드는 정기적으로 측정용의 패킷열을 송신하고 수신노드는 이 도착시간의 변화에 기초한 속도를 추정할 수 있다. 추정방법은 예를 들면,「Dovrolis, Ramanathan, 및 Moore 저,“What DoPacket Dispersion Techniques Measure?" IEEE INFOCOM 2001」에 상세히 개시되어 있다. Dovrolis 등에 의한 상기 문헌에 있어서, 송신측노드가 2개의 패킷을 동시에 송신하고, 송신측에서 이 두 개의 패킷의 도착시간차에 기초해 링크속도를 추정한다. 전송지연은 패킷도착 간격을 벌린다. 전송지연은 링크속도와 관련되기 때문에 속도는 도착간격에 의해 추정될 수 있다.
수신노드(101)는 정기적으로 이들의 측정값을 경로상태정보로서 송신노드(100)에 송신한다. 동시에 수신노드(101)는 그 시간까지 수신된 최신의 패킷식별자를 송신되는 상태정보를 유효로 하는 패킷의 식별정보로 하여 송신한다. 송신노드는 리포터들로서 이들 정보를 수신한다. 이 시스템은 일 예로서 보여진다. 본 발명의 실시가능성은 경로상태정보 및 이들을 유효로 하는 패킷의 결정 및 전달의 방법에는 의존하지 않는다.
이후에 전송될 패킷에 대하여, 스케줄부(313)는 송신경로마다에 현재의 경로정보 및 이 정보를 유효로 하는 패킷이 송신된 후 유효한 송신이력을 참조한다. 따라서, 스케줄부(313)는 수신측노드(101)에서의 패킷도착지연을 예측한다. 송신이력은 메모리(315)에 저장된다. 스케줄부(313)는 예측된 도착지연이 최소로 되는 경로를 다음에 전송되는 패킷의 전송경로로 선택하고 선택된 경로로 패킷의 전송 후 이 전송시간을 메모리부(315)에 송신이력으로 추가한다.
도 3은 스케줄부(313)에서 동작되는 경로마다 도착지연추정방법을 설명한다. 도 3에서, 부호 400-1, 400-2 또는 400-3은 데이터패킷을 나타낸다. 이 송신측 노드(100)에서의 송신이력 및 예측과 수신측 노드(101)에서의 수신이력 및 예측은 각각 시간축 상에 보여진다. 예를 들어, 송신측노드는 시간 T1에서 데이터패킷 400-1을 송신하기 시작하고 시간 T2에서 송신동작을 끝낸다. 또한 수신측노드는 시간 T3에서 패킷 400-1을 수신하기 시작하고 시간 T4에서 수신완료를 완성한다. 시간 T1과 시간 T3간의 차 I1은 전송지연이다. 시간 T4와 시간 T2간의 차 I2는 송신인터페이스와 전송경로간의 속도차에 의해 발생하는 패킷의 분산을 더한 전체 지연에 대응한다.
여기서, 시간축 상 TP인 현재 시간에서 패킷 400-3이 송신된다. 이 경로에 대해 T5와 TP 사이에서 리포터경과통지가 수신되기 때문에 경로상태정보가 갱신된다. 경로상태정보가 패킷 400-1로부터 유효로 된다. 경로상태정보를 유효로 하는 패킷(400-1, 400-2)의 송신이력에 기초하여 패킷 400-1, 패킷400-2를 고려한 패킷 400-3의 수신완료시간이 추정된다.
패킷 400-1 보다 후에 송신된 패킷 400-2의 수신측노드(101)에서의 수신개시시간 및 완료시간은 현재 수신되고 있는 경로상태정보를 포함하는 속도 및 전송지연에 기초해 추정된다. 도 3에서, 추정된 수신개시시간은 T5이고 수신완료시간은 T7이다. 경로상태정보로 보여지는 전송지연은 I1과 동일하면 TP에서 송신되는 패킷 400-3은 시간 T6에서 수신될 것이다. 그러나, 수신측노드가 아직 완전히 패킷 400-2를 수신하지 않은 것으로 추정된다. 따라서, 패킷 400-3의 추정된 수신개시시간은 패킷 400-2가 완전히 수신되는 T7인 것으로 추정된다. 패킷 400-3의 추정수신완료시간은 경로상태정보에 포함되는 경로속도로부터 추정되는 패킷분산을 더한 T8로 된다. 동일하게 패킷 400-3의 수신완료시간을 각 경로에 대해 추정한다. 가장 빠른 수신시간을 제공하는 경로에 패킷 400-3이 송출된다.
도 3의 시간 TP에서의 시점에서 수신측의 도착시간추정에 이용되는 경로상태정보는 T5와 TP의 사이에서의 리포트결과통지에 의해 갱신된다. 전송된 패킷 400-2의 도착시간은 TP에 있어서의 구 경로상태정보에 기초하여 추정된다. 구 경로정보는 정보A이고 T5와 TP간에 갱신된 새로운 정보는 정보B이다. 정보A와 B에 포함된 지연 및 경로상태가 링크상태의 변화에 의해 서로 다르다면, 정보A에 기초한 도착시간추정은 도 3에 보여지는 정보B에 기초한 도착시간추정과 다를 것이다. 따라서, 도 3에 도시된 패킷 400-1의 도착시간예측과 패킷 400-2의 도착시간예측은 정보B를 얻은 결과의 수정을 반영한다. 경로상태정보가 일단 갱신되는 경우, 갱신을 유효로 하는 패킷 이전의 패킷의 송신이력은 참조용으로 불필요하기 때문에 파기된다.
또한, 본 발명의 패킷도착시간추정 및 송신완료시간과 종래기술의 패킷도착시간추정 및 수신완료시간의 차이가 도 7을 참조로 하여 이하에서 상세히 설명될 것이다.
도 7을 참조로 하면, 부호 500-1, 500-2, 또는 500-3은 송출되는 데이터패킷을 나타낸다. 송신측노드에서의 패킷의 송신이력(실선)과 수신측노드에서의 실제패킷의 수신이력(실선)은 각각 시간축 상에 표시된다. 패킷도착시간 및 수신완료시간의 예측(점선)은 시간축상에 표시된다. 도 7 상부에서 곡선은 전송경로의 속도변화를 나타낸다. 도 7은 시간이 경과함에 따라 전송속도가 지연되는 상태를 나타낸다.
실제 패킷의 송수신에 있어서, 송신노드측은 먼저 시간 T1에서 데이터패킷 500-1의 송신을 시작하고 시간 T2에서 송신을 완료한다. 수신측노드는 시간 T3에서 데이터패킷 500-1을 수신하기 시작하고 시간 T5에서 수신을 완료한다.
그 후, 송신측노드는 시간 T4에서 데이터패킷 500-2를 송신하기 시작하고 시간 T8에서 송신을 완료한다. 수신측노드는 통신속도의 저하로 인해 시간 T7에서 데이터패킷 500-2를 수신하기 시작하고 시간 T13에서 수신을 완료한다.
또한, 시간 T9에서 데이터패킷 500-3을 송신하기 시작하고 시간 T10에서 송신을 완료한다. 수신측노드는 시간 T14에서 데이터패킷 500-3을 수신하기 시작하고 시간 T16에서 수신을 완료한다.
다음, 실제 패킷의 송수신에 있어서, 본 발명에 따른 패킷의 도착시간 및 수신완료시간의 예측에 대해 설명한다.
송신측노드는 데이터패킷 500-1의 송신시간 및 패킷식별자에 관한 정보와 함 께 시간 T1에서 데이터패킷 500-1의 송신을 시작하고 시간 T2에서 송신을 완료한다. 송신측노드는 송신이력으로서 데이터패킷 500-1의 송신시간 및 패킷식별자를 저장한다.
계속하여, 송신측노드는 데이터패킷 500-2의 송신시간 및 패킷식별자의 정보와 함께 시간 T4에서 데이터패킷 500-2를 송신하기 시작하고 시간 T8에서 송신을 완료한다. 이 때 상술한 방법과 유사한 방법으로, 송신측노드는 데이터패킷 500-2의 송신시간 및 패킷식별자를 송신이력으로서 저장한다.
수신측노드는 시간 T3에서 데이터패킷 500-1을 수신하기 시작하고 시간 T5에서 수신을 완료한다. 이 때, 수신측노드는 데이터패킷 500-1의 식별자, 수신완료시간 및 통신속도에 관해 리포트정보로 송신측노드에 송신한다.
시간 TX에서 수신측노드로부터 리포트를 수신한다면, 리포트에 포함된 데이터패킷 500-1의 식별자에 기초하여, 리포트의 상태정보가 유효한 경우에는 송신노드측은 데이터패킷 500-1의 송신시간 T1을 결정한다.
전송노드측은 시간 T1 이후 송신이력에 기초하여 데이터패킷 500-3의 도착시간 및 수신완료시간을 예측한다. 시간 T1 이후의 송신이력에서, 데이터패킷 500-1 및 500-2가 다루어질 것이다. 리포트에 따르면, 데이터패킷 500-1의 수신완료시간은 시간 T5이다. 데이터패킷 500-2의 도착시간 및 수신완료시간은 리포트에서 데이터페킷 500-1의 통신속도 및 수신완료시간을 예측하는데 사용된다. 이런 정보에 의해 전송지연이나 패킷의 총 지연시간이 알려진다. 전송지연은 시간 T1과 시간 T3간의 차 I1이다. 패킷의 총 지연은 전송지연 I1에 송신인터페이스와 전송경로의 속도 차에 의해 발생하는 패킷의 분산을 더한 것이다. 시간 T5와 시간 T2간의 차이는 I2이다. 데이터패킷 500-2의 도착시간은 전송지연 I1에 의해 구해지고 데이퍼패킷 500-2의 송신시간 T4에 전송지연 I1을 더한 시간 T6으로 예측된다. 패킷지연이 리포터의 통신속도에 기초해 구해질 수 있기 때문에 데이터패킷 500-2의 수신완료시간은 시간 T12로 예측된다. 따라서, 이 경로에서, 수신측 토드의 데이터패킷 500-3의 도착시간은 시간 T12 이후인 시간으로 예측될 것이다. 수신이 시간 T12로부터 시작되는 경우, 수신완료시간은 패킷분산예측에 의해 시간 T15로 예측될 수 있다. 예측결과에 따라, 예측된 데이터패킷 500-3의 도착시간 T12와 데이터패킷 500-3의 실제도착시간 T14간의 차이는 시간 ID1이다.
종래기술에서 패킷의 도착시간 및 수신완료시간의 예측에서는 리포트의 도착시간에서 수신측노드에 의해 구해진 리포트에서 보여지는 경로상태가 유효로 된다. 이 경로상태는 어떠한 변화없이 데이터패킷 500-3을 예측하는데 이용된다. 즉, 데이터패킷 500-3의 도착시간은 데이터패킷 500-3의 송신시간 T9에 송신지연 I1을 더한 시간 T11로 예측된다. 이런 예측결과, 예측된 데이터패킷 500-3의 도착시간 T11과 실제 데이터패킷 500-3의 도착시간 T14간의 차는 시간 ID2가 된다.
도면에서 명백한 바와 같이, 실제도착시간에 대한 오차시간 ID1과 오차시간 ID2에 대해, 본 발명에 따라 예측된 오차시간 ID1이 오차시간 ID2보다 작다.
다음으로, 상술한 도착시간추정을 포함한 스케줄부의 경로선택의 절자가 도 4에서 보여진다.
먼저, 대기부(312)가 패킷들을 수신한다(단계 100).
다음, 최후의 패킷이경로들 중 하나를 통해 전송된 후, 그 경로상태정보가 갱신된 것인지를 판단한다(단계 101). 경로상태정보가 갱신된 경우, 경로상태정보가 유효로 되기 전에 존재하는 송신이력이 모든 갱신된 경로에서 삭제된다(단계102).
이어서, 각 경로에서, 경로도착시간이 경로상태정보 및 송신이력에 기초해 예측(추정)된다(단계 103). 따라서, 패킷은 예측(추정)된 도착시간이 가장 빠른 경로에 송신된다(단계 104).
최종적으로, 패킷송신에 이용된 경로의 송신이력이 갱신된다(단계 105).
상술한 바와 같이, 경로상태정보를 갱신할 경우, 갱신 전에 송신된 패킷의 예측된 도착시간이 수정된다. 수정된 도착시간은 이후의 패킷송신의 판단에 반영된다. 따라서, 과거 송신실적이 보상될 수 있다. 보상의 효과는 각 경로의 왕복지연이 크고 경로상태변동의 주기에 대해 무시될 수 없는 경우 현저하게 된다. 그 이유가 이하에서 설명될 것이다.
경로상태변동이 왕복지연과 같은 시간에 의해 발생하는 경우, 경로에 대응하는 상태들은 전송측노드가 상태정보들을 획득했을 때 이미 변화되었을 수 있다. 따라서, 이러한 정보는 믿을 수 없다. 그러므로, 패킷을 송신하는 시점에서 경로선택 및 타이밍설정을 최적화하는 것은 불가능하다. 일반적으로 패킷은 적절하지 못한 경로와 타이밍에서 송신된다. 상태정보 갱신시에 도착시간예측을 수정하는 것은 이미 실시된 적절하지 못한 송신의 영향을 상태정보갱신동작 사이의 간격이 경과된 후 추정하는 것과 동일하다. 예를 들어, 패킷이 고속으로 송신되는 경우, 송신된 패킷의 도착예측시간은 상태정보의 갱신에 의해 연장된다. 이것은 경로송신비용을 증가시킨다.
상술한 바와 같이, 상태정보갱신에 의한 과거 송신패킷에 대한 도착시간예측의 수정은 경로선택을 효과적으로 최적화한다. 그러나, 도착시간예측의 수정이 경로선택과 더불어 송신타이밍제어를 위해 피드백되는 경우, 각 경로의 폭주제어도 장기적으로 최적화된다.
다음으로, 다른 실시예가 이하에서 설명될 것이다.
간단한 타이밍제어를 실장한 다른 실시예의 동작이 이하에서 설명될 것이다.
상술한 실시예의 방법과 유사하게, 다른 실시예는 송출패킷의 수신완료시간을 각 경로에 대해 추정하고 가장 빠른 평가값을 가진 경로를 선택한다. 그러나, 본 실시예는 새로운 경로에 대해 허용추정지연을 정의하고 추정지연이 허용추정값을 초과하지 않도록 송신측노드(100)는 송신타이밍을 제어하는 간단한 타이밍제어를 도입할 수 있다. 본 실시예의 동작은 도 5를 참조로 하여 설명될 것이다.
도 5에서, 허용추정지연 TM은 TP시점에서 패킷을 송출하기위해 패킷이 TM+TP까지 완전히 수신되는 것으로 추정되어야 한다는 것을 의미한다. 상술한 실시예와 동일한 수단으로 추정된 패킷 400-3의 수신완료시간은 TM+TP 보다 미래값에 대응하는 T8이 된다. 송신측노드(100)는 추정된 수신완료시간이 TM+TP가 될 때까지 이 경로로부터 패킷 400-3을 송출할 수 없다. 이 경우에, 송신측노드(100)는 경로들 중 어느 하나의 추정된 수신완료시간이 TM+TP 이하로 될 때까지 패킷 400-3을 보유한다. 송신측노드(100)는 가장 빠른 시간에 보유가 해제되는 경로를 통해 패킷을 송신한다. 이 모드에서 스케줄부(313)의 동작플로우는 도 6에서 보여진다.
우선, 대기부(312)가 패킷을 수신한다(단계 200).
다음으로, 최후의 패킷이 경로들 중 어느 하나를 통해 송신된 후에 경로상태정보가 갱신되었는지를 판단한다(단계 201). 경로상태정보가 갱신되는 경우, 경로상태가 유효로 되기 이전의 송신이력은 전체 갱신된 경로들에서 삭제된다(단계 202).
이어서, 경로상태정보 및 송신이력에 기초해 패킷도착시간이 예측(추정)된다(단계 203). 예측(추정)된 도착시간을 이용해, 전체경로들에서 (예측(추정)도착시간)>(현재시간+허용추정지연)인지를 판단한다(단계 204). 경로들 중 어느 하나에서 (예측(추정)도착시간)≤(현재시간+허용추정지연)인 경우에는 이들의 경로 중 가장 빠른 예측(추정)도착시간을 가진 경로에 패킷이 송신된다(단계 205).
전체 경로에서, (예측(추정)도착시간)>(현재시간+허용추정지연)인 경우에는 경로들 중 어느 하나에 현재시간이 (예측도착시간-허용추정지연)으로 될 때까지 상태가 대기된다. 경로들 중 어느 하나에서 조건들이 만족하는 경우, 플로우는 단계 205로 진행된다(단계 206).
마지막으로, 패킷송신에 이용된 경로의 송신이력이 갱신된다(단계 207).
허용지연값 TP은 각 경로에 대해 독립적으로 설정될 수 있다. 예를 들어, 각 경로의 지연이나 패킷이 경유하는 서버의 버퍼량이 매우 다른 경우, 특히, 고부하에서는 다른 TM설정값이 각 경로에 설정될 수 있다. 따라서, 각 경로의 대역이 유효하게 이용될 수 있다고 생각된다.
예를 들어, 만약 패킷 결락율(missing ratio) 및 회선사용요금이 추정수신완료와 더불어 감시될 수 있다면, 이들이 우선적으로 평가될 수 있다. 판단방법은 데이터속성에 달려있다. 예를 들어, 음성데이터에 대한 지연이나 긴급하지 않은 파일전송데이터에 대한 회선사용요금을 중시한 선택이 실시된다. 어떠한 경우에도, 본 발명은 송신노드가 경로상태정보를 갱신할 때 동시에 갱신을 유효로 하는 송신패킷 또는 시간을 취득하고, 유효패킷 또는 유효시간 이후의 송신이력에 의해 송신코스트의 임팩트를 추정하고 코스트가 최소인 경로에 다음 패킷을 송신하는 것에 특징이 있다. 그 결과, 지연이 경로상태변동의 시정수에 비해 무시할 수 없게 큰 경우조차도, 과거의 적절하지 못한 송신에 의해 이미 제공된 코스트기준으로 인한 임팩트가 이후 송신타이밍의 조정에 반영되어 지연을 보상할 수 있게 된다. 따라서, 경로사용효율은 효과적으로 개선된다.
다음, 도 9에서 보여지는 바와 같이, IP네트워크에 이용된 본 발명의 경로선택방법이 이하에서 설명될 것이다.
도 9는 본 실시예에서 개별 IP어드레스를 가진 통신인터페이스의 구성을 보여준다.
도 9를 참조로 하면, 각각 다수의 경로들을 가진 송신측노드(100-2) 및 수신측노드(101-2)가 데이터생성노드(10-2)와 수신지노드(11-2) 사이에 있다. 세 개의 경로들은 송신측노드(100-2)와 수신측노드(101-2) 사이에 있다. 도 9의 구성에 있어서, 송신측노드(100-2)는 송신수단으로서 통신인터페이스 S-IF#1 (1310-1), S-IF#2 (1310-2), S-IF#3 (1310-3), 및 S-IF#4 (1310-4)를 포함한다. 통신인터페이스들 S-IF#1 (1310-1) 내지 S-IF#3 (1310-3)은 각각 무선망 1300-1 내지 1300-3에 속한다. 통신인터페이스들 S-IF#1 (1310-1) 내지 S-IF#3 (1310-3)은 무선링크들 202-4 내지 202-6을 통해 셀러캐리어망(the cellar carrier network)에 위치되는 캐리어망게이트웨이들 1400-1, 1400-2 및 1400-3에 접속된다. 통신인터페이스 S-IF#4 (1310-4)는 유선링크 또는 무선링크(202-7)을 통해 데이터생성노드(10-2)에 탑재된 통신인터페이스 D-IF(1200)에 접속된다. 수신측노드(101-2)는 수신수단으로서 통신인터페이스 R-IF(1500-1)을 포함한다. 수신측노드(101-2)는 통신인터페이스 R-IF(1500-1) 및 유선망(102-2)을 통해 캐리어망게이트웨이들 1400-1 내지 1400-3에 접속된다.
도 9의 시스템에서, 통신인터페이스들 S-IF#1 (1310-1) 내지 S-IF#3 (1310-3)은 각각 Point-to-Point Protocal(PPP)을 이용하여 개별 IP어드레스로서 [100.1.2.3], [110.1.2.3] 및 [120.1.2.3]을 할당한다. 또한, 통신인터페이스 R-IF (1500-1)은 고정적으로 설정된 수단이나 DHCP수단을 이용하여 IP어드레스로서 [200.7.8.9]를 할당한다. 통신인터페이스 D-IF (1200)은 고정적으로 설정된 수단이나 DHCP수단들을 이용하여 IP어드레스로서 [192.168.2.50]을 할당한다.
도 10은 도 9의 시스템에서 송신측노드(100-2)의 내부구성을 보여준다. IP통신을 위해, 송신측노드(100-2)는 패킷대기부(312-2), 스케줄부(313-2), 경로상태감시부(314-2), 메모리부(315-2), IP패킷생성부(1316), IP패킷대기부(1317) 및 IP루팅처리부(1318)를 포함한다.
스케줄부(313-2)는 대기부(312-2)로부터 입력데이터(수신지데이터 및 송신데이터)를 얻어 특정통신인터페이스를 선택한다. 얻은 데이터를 송신하는데 사용되는 통신인터페이스(경로)는 경로상태모니터부(314-2)에 의해 관리되는 경로상태들을 참조하여 선택된다. 스케줄부(313-2) 및 경로상태모니터부(314-2)에 의한 경로선택방법에 있어서, 경로는 스케줄부(313) 및 경로상태모니터부(314)에 의한 것과 동일한 방법으로 선택되고 결정된다. 메모리부(315-2)는 메모리부(315)와 동일한 방법으로 경로상태정보를 저장한다. 이후에는 상술한 동작과 유사한 동작으로 통신인터페이스(경로)를 선택하는 스케줄부(313-2) 및 경로상태모니터부(314-2)에 대해 설명될 것이다.
IP패킷생성부(1316)는 스케줄부(313-2)로부터 수신된 데이터에 IP헤더를 더해 IP패킷을 생성한다. IP패킷대기부(1317)는 IP패킷생성부(1316)에 의해 생성된 IP패킷을 저장하기 위한 버퍼이다. IP루팅처리부(1318)는 IP패킷대기부(1317)에 저장된 IP패킷을 얻고, IP패킷의 다음 전송지를 판별하고 통신인터페이스들 S-IF#1 (1310-1) 내지 S-IF#4 (1310-4) 중 적절한 것을 이용해 IP패킷을 송출한다.
도 11은 IP루팅처리부(1318)의 구성을 보여주는 도면이다. IP루팅처리부(1318)는 넘겨진 IP패킷의 전송지를 판별하기 위해 이용되는 경로제어표(1312, 도 12에 도시됨)를 가진다. 또한, 탑재된 각 통신인터페이스에 할당되어 있는 IP어드레스를 기록한 IF어드레스관리표(1312, 도 13에 도시됨)가 구비되어 있다. 경로제어표는 송신IP판정/송출처리부(1320)을 포함한다. 경로제어표(1321)와 IF어드레스관리표(1322)를 이용해, 송신IP판정/송출처리부(1320)는 IP루팅처리부(1318)로 넘겨진 IP패킷의 전송지를 판별한 후 IP패킷을 대응하는 통신인터페이스들 S-IF#1 (1310-1) 내지 S-IF#4 (1310-4)로 송출한다.
도 14는 메모리부(315-2)에 저장되어 있는 통신경로와 이에 대응하는 통신인터페이스 간의 대응을 저장하는 표(이하, 경로-통신인터페이스대응표(1330)라 한다)의 예를 보여준다. 경로-통신인터페이스대응표(1330)의 엔트리에는, 스케줄부(313-2) 및 경로상태감시부(314-2)에 의해 인식되는 각 통신경로들에 대한 통신경로번호나 식별자 및 통신경로와의 접속에 이용되는 통신인터페이스명이 저장된다.
도 12에 보여지는 경로제어표(1321)에 있어서, 일반적으로 IP패킷의 송신지로 되는 각 수신지네트워크IP어드레스에 대해 네트워크마스크 및 이 네트워크로 IP패킷을 보내기 위한 다음의 전송지를 나타내는 게이트웨이IP어드레스가 설명되어 있다. 경로제어표(1321)는 또한 게이트웨이IP어드레스와 동일한 어드레스를 가진 서브네트워크에 접속된 통신인터페이스에 관한 정보를 기록한다. 실제로, 동일한 서브네트워크에 속한 전체의 통신기기에 패킷을 송출하기 위해 멀티캐스트어드레스(multicast address)가 종종 설정될 수 있다. 그러나, 이의 도시 및 설명은 여기서는 생략될 것이다.
도 13에 도시된 IF어드레스관리표(1322)는 통신노드에 탑재된 통신인터페이스와 이에 할당된 IP어드레스 간의 대응을 기록한다. IF어드레스관리표(1322)의 내용은 각 통신인터페이스에 할당된 IP어드레스가 변경될 때마다 갱신된다.
본 실시예에 있어서, 수신노드(101-2)는 수신수단으로서 통신인터페이스 R-IF (1500-1)를 구비한다. 송신노드(100-2)는 각각 다른 IP어드레스가 할당된 통신인터페이스 S-IF#1 (1310-1) 내지 S-IF#4 (1310-4)를 구비한다. 이 때문에, 경로제어표(1321)는 수신네트워크IP어드레스의 값이 동일한 [200.7.8.9]에 대해 각각 다른 게이트웨이IP어드레스 및 다른 통신인터페이스를 등록한 엔트리들(1321-a, 1321-b, 및 1321-c)을 가진다. 또한, 경로제어표(1321)는 데이터생성노드(10-2)로의 경로정보인 1321-d를 가진다.
송신IF판정/송출처리부(1320)는 얻은 IP패킷의 헤더정보와 경로제어표(1321)를 이용해 IP패킷을 송출하는데 사용되는 인터페이스를 결정하는, 소위 IP루팅처리를 실시한다.
본 실시예에서는 도 12에서 보여지는 바와 같이 "수신지네트워크IP네트워크"가 중복되는 다수의 엔트리들을 가진다. IP루팅처리는 송출에 사용되는 인터페이스를 결정한다.
이후에는, 도 9에 도시된 본 실시예에서, 예를 들어, 스케줄부(313-2)가 경로-통신인터페이스대응표(1330)에 등록된 통신경로번호“3”을 가진 통신경로를 선택한다. 따라서, IP패킷은 결정된 경로에 대응하는 통신인터페이스 S-IF#2 (202-5)를 이용해 송출된다. 다른 경로를 선택하는 것은 다른 처리로 실현될 수 있다.
통신경로번호가 3인 통신경로를 선택하는 경우, 스케줄부(313-2)는 경로-통신인터페이스대응표(1330)로부터 통신경로에 대응하는 통신인터페이스 S-IF#2를 취득한다.
다음으로, 스케줄부(313-2)는 취득한 통신인터페이스 S-IF#2로 IP루팅처리부(1318) 내의 IF어드레스관리표(1322)를 검색한 다음 통신인터페이스 S-IF#2에 할당된 IP어드레스[110.1.2.3]을 얻는다. 다음으로, 스케줄부(313-2)는 송신IP패킷생 성정보(이하, 송신IP패킷생성데이터라 한다)를 생성한 다음 IP패킷생성부(1316)에 넘겨준다.
도 15는 송신IP패킷생성데이터(1510)의 구성을 보여준다. 생성데이터(1510)는 “수신지IP어드레스”로서, 수신노드(101-2)의 통신인터페이스(1500-1)의 IP어드레스 [200.7.8.9]를 저장하고 “송신원IP어드레스”로서 통신인터페이스 S-IF#2의 IP어드레스 [110.1.2.3]을 저장한다.
IP패킷생성부(1316)는 수신된 송신IP패킷생성데이터(1510)를 기초로 도 16에 도시된 송출IP패킷(1610)을 생성하고 IP패킷대기부(1317)에 추가한다. 송신IP패킷생성데이터(1510)에 포함된 정보를 기초로, 송출IP패킷(1610)은 IP헤더의 "송신원IP어드레스" 필드에 통신인터페이스 S-IF#2 (1310-2)의 IP어드레스 [110.1.2.3]을 저장한다. 또한, 송출IP패킷(1610)은 IP헤더의“수신지IP어드레스”필드에 수신노드(101-2)의 통신인터페이스 R-IF (1500-1)의 IP어드레스 [200.7.8.9]를 저장한다.
다음으로, IP루팅처리부(1318)에서, 송신IF판정/송출처리부(1320)는 IP패킷대기부(1317)로부터 송출IP패킷(1610)을 얻어 경로제어표(1321) 및 IF어드레스관리표(1322)를 이용해 송출IP패킷으로 넘겨줄 통신인터페이스를 결정한다. 따라서, 송출처리가 실시된다.
도 17은 본 실시예에 있어서, 송신IF판정/송출처리부(1320)의 송신IF결정의 흐름을 보여주는 흐름도이다. 경로제어표(1321)가 엔트리수 x로 구성되는 경우, 송신IF판정/송출처리부(1320)는 변수로서, 카운트값 i, 제1후보리스트, 카운트값 m, 카운트값 j, 제2후보리스트, 및 카운트값 n을 마련한다. 카운트값 i는 제1조건하에 검색처리를 실시할 때 처리된 경로제어표(1321)에서 엔트리를 나타낸다. 제1후보리스트는 제1조건하에 송신후보로서 선택된 경로제어표의 엔트리의 배열을 저장한다. 카운트값 m은 제1후보리스트에 저장된 엔트리들의 수를 나타낸다. 카운트값 j는 제2조건하에서 선택처리가 실시될 때 제1후보리스트의 엔트리를 나타낸다. 제2후보리스트는 제2조건하에 송신후보로서 선택된 송신인터페이스의 배열을 저장한다. 카운터값 n은 제2후보리스트에 저장된 엔트리들의 수를 나타낸다. 우선, 송출IP패킷은 IP패킷대기부(1317)로부터 얻어진다(단계 300). "1"은 초기값으로서 카운트값 i 및 j로 설정되고, “0”은 카운트값 m 및 n으로 설정된다(단계 301). 다음 단계302로 진행된다.
다음, 카운트값 i와 카운트값 x를 비교함으로써, 제1후보검색이 완료되었는지를 판정한다(단계 302). 특히, 카운트값 i가 카운트 값 x와 동일한 경우, 제1후보검색이 완료된다. 카운트값 i가 카운트값 x와 동일하지 않은 경우(단계 302에서 NO), 송출IP패킷(1610)의 수신지IP어드레스에 저장된 값이 경로제어표의 i번째 엔트리의 수신네트워크IP어드레스에 저장된 값과 비교된다(단계 303). 비교결과 일치하는 것으로 나타나는 경우(단계 303에서 YES), 경로제어표의 i번째 엔트리의 내용이 제1후보리스트의 m번째 엔트리로 복사된다(단계 304). 따라서, 카운트값 m은 하나 증가하고(단계 305), 카운트값 i도 하나 증가한다(단계 306). 다음의 경로제어표엔트리처리로 이행된다. 송출IP패킷(1610)의 수신지IP어드레스에 저장된 값이 경로제어표의 i번째 엔트리의 수신지네트워크IP에 저장된 값과 일치하지 않는 경우(단계 303에서의 NO), 변화없이 단계306으로 진행된다.
단계 302와 단계 306간의 처리를 되풀이함으로써, 경로제어표의 제1엔트리로부터 순차로 각 엔트리에 대해 처리가 실시된다. 처리가 마지막 엔트리에 도달한 경우(단계 302의 YES), 제1후보리스트에 엔트리들이 존재하는지를 판정하기 위해 단계 307로 진행된다.
특히, 제1후보의 존재 또는 부존재는 카운트값 m에 의해 판정된다. 카운트값 m이“0”인 경우(단계 307의 YES), 송출IP패킷(1610)을 송출하기 위한 통신인터페이스가 존재하지 않기 때문에 처리를 종료한다. 카운트값 m이 "0"이 아닌 경우(단계 307의 NO), 제1후보가 존재하기 때문에 처리는 단계 308로 진행된다. 다음, 카운트값 m 이 "1" 인지를 판단한다(단계 308). 카운트값 m이 "1"인 경우(단계 308에서 YES), 송출IP패킷(1610)을 송출하기 위한 통신인터페이스는 유일하게 결정된다. 따라서, 제1후보리스트에서의 제1엔트리에 기록된 통신인터페이스가 취득된다. 송출IP패킷(1610)은 취득된 통신인터페이스를 이용해 송출되고(단계 322) 이후 처리가 종료된다. 카운트값 m이 "1"이 아닌 경우(단계 308의 NO), 송출IP패킷(1610)을 송출하는데 사용되는 통신인터페이스는 유일하게 결정되지 않기 때문에 단계 310으로 진행된다.
단계 310에 있어서, 제2후보리스트검색이 완료되었는지 판정된다. 특히, 카운트값 j가 카운트값 m과 동일한 경우, 제2후보검색이 완료된다. 카운트값 j가 카운트값 m과 동일하지 않은 경우(단계 NO), 제1후보리스트의 j번째 엔트리의 통신인터페이스가 먼저 취득된다(단계 311). 다음으로, 단계 310에서 취득된 통신인터페이스에 대응하는 할당IP어드레스가 IF어드레스관리표(1322)로부터 취득된다. 이어서, 송출IP패킷(1610)의 송신원IP어드레스는 단계 311에 취득된 할당IP어드레스와 비교된다(단계 313). 송출IP패킷(1610)의 송신원IP어드레스가 할당IP어드레스와 일치하는 경우(단계 313의 YES), 단계 311에서 취득된 통신인터페이스는 제2후보리스트의 n번째 엔트리로 복사된다(단계 314). 따라서, 카운트값 n은 하나 증가한다(단계 315). 또한, 카운트값 j도 하나 증가한다(단계 316). 제1후보리스트의 다음 엔트리로 처리가 진행된다. 송출IP패킷(1610)의 송신원IP어드레스가 할당IP어드레스와 일치하지 않는 경우(단계 313의 NO), 변화없이 단계 316으로 진행된다.
단계 310 및 316과의 처리가 반복됨으로써, 각 엔트리처리가 제1후보리스트가 제1엔트리로부터 순차로 실시된다. 처리가 마지막 엔트리에 도달한 경우(단계 310의 YES), 엔트리가 제2후보에 존재하는지를 판정하기 위해 단계 317로 진행된다.
특히, 제2후보의 존재 또는 부존재는 카운트값 n에 의해 결정된다. 카운트값(n=) "0"은 제1후보리스트에 송출IP패킷(1610)을 송출할 수 있는 통신인터페이스가 존재하지만 유일하게 결정되지 않는 것을 의미한다. 카운트값(n=) "1"은 송출IP패킷(1610)을 송출할 수 있는 통신인터페이스가 유일하게 결정되는 것을 의미한다. 카운트값(n=) "2"이상은 제2후보리스트에 송출IP패킷(1610)을 송출할 수 있는 통신인터페이스가 존재하지만 유일하게 결정되지 않는 것을 의미한다.
카운트값 n이 “1”인 경우(단계 317에서 YES), 통신인터페이스를 제2후보리스트의 제1엔트리로부터 취득된다(단계 318). 취득된 통신인터페이스를 사용하여 송출IP패킷(1610)을 송출하고(단계 322) 처리가 종료된다. 카운트값 n이 “1”이 아닌 경우(단계 317의 NO), 단계 319로 진행된다.
다음, 카운트값 n이 “0"인 경우(단계 319에서 YES), 제1후보리스트의 임의의 엔트리로부터 송신인터페이스가 취득된다(단계 320). 취득된 송신인터페이스를 사용하여, 송출IP패킷(1610)이 송출되고(단계 322) 처리가 종료된다. 카운트값 n이 "0"이 아닌 경우(단계 319의 NO), 제2후보리스트의 임의의 엔트리로부터 송신인터페이스가 취득된다(단계 321). 취득된 송신인터페이스를 사용하여 송신IP패킷(1610)이 송신되고(단계 322), 처리가 종료된다.
송출IP패킷(1610)의 IP헤더에서, [200.7.8.9]는 수신지IP어드레스에 저장되고 [110.1.2.3]은 송신원IP어드레스에 저장된다. 따라서, 제1후보들은 도 21에 보여지는 경로제어표(1321)의 엔트리들 1321-a, 1321-b, 및 1321-c에 대응한다. 단계 307의 처리를 실시하는데 있어서, 제1후보리스트의 제1엔트리는 경로제어표(1321)의 엔트리 1321-a의 내용을 저장한다. 또한, 제1후보리스트의 제2엔트리는 경로제어표(1321)의 엔트리 1321-b의 내용을 저장한다. 제1후보리스트의 제3엔트리는 경로제어표(1321)의 엔트리 1321-c의 내용을 저장한다. “3”은 카우트값 m에 대해 저장된다. 단계 312에서, j=1의 경우, [100.1.2.3]이 할당IP어드레스로서 취득되고 j=2의 경우, [110.1.2.3]이 할당IP어드레스로서 취득되고, j=3의 경우, [120.1.2.3]이 할당IP어드레스로서 취득된다. 단계 317의 실행에 있어서, 제2후보리스트는 통신인터페이스로서 "S-IF#2"를 저장한다. “1”은 카운트값으로 저장된다. 즉, 단계317의 처리에 의한 판정결과에 기초해, 단계 318이 실행된다. 단계 318에서, “S-IF#2"가 송신인터페이스로서 취득된다. 송신IF판정/송출처리부(1320) 은 스케줄부(313-2)에 의해 선택된 경로번호 3의 경로에 대응하는 통신인터페이스 S-IF#2를 이용해 송출IP패킷(1610)을 송출한다.
그 결과, 송출IP패킷(1610)은 통신인터페이스 S-IF#2 (1310-2)로부터 송출된다. 수신노드(101-2)의 통신인터페이스 R-IF (1500-1)은 캐리어망GW(1400-3)을 통해 송출IP패킷(1610)을 수신한다.
본 실시예는 송신노드(100-2) 및 수신노드(101-2)가 일대일 대응이 아닌 다수의 통신인터페이스를 구비하고, 각 통신인터페이스에는 개별의 IP어드레스가 할당된다. 상술한 순서를 이행함으로써, 이러한 구성이라도 스케줄부(313-2)에 의해 결정된 경로를 이용하여 IP패킷을 송신할 수 있다. 특히 송신원IP어드레스를 저장하지 않고 종래기술에서의 IP루팅을 원하지 않는 IP패킷이 IP루팅처리가 행해질 수 있다.
또한, 다른 실시예에 따르면, 송신노드(100-2)의 스케줄부(313-2)는 통신경로번호“3”의 통신경로를 선택할 수 있고 이후 IP패킷생성부(1316)에서 건네진 송신IP패킷생성데이터를 도 18에 보여지는 형식으로 변환한다.
도 18은 본 실시예에서 송신IP패킷생성데이터(1511)를 보여준다. 스케줄부(313-2)는 송신IP패킷생성데이터(1511)의 "수신지IP어드레스"로서, 수신노드(101-2)의 통신인터페이스(1500-1)의 IP어드레스 [200.7.8.9]를 저장한다. 또한, 스케줄부(313-2)는 송신IP패킷생성데이터(1510)의 “송신원인터페이스”로서 경로/통신인터페이스대응표(1330)로부터 취득된 통신경로번호“3”에 대응하는 통신인터페이스“S-IF#2"를 저장한다.
IP패킷생성부(1316)는 송신IP패킷생성데이터(1511)를 수신한 경우, 도 19에 보여지는 송출IP패킷(1611)을 작성하고, IP패킷대기부(1317)에 추가한다. 송출IP패킷(1611)에서, 송출IP패킷생성데이터(1511)에 포함된 정보에 기초해, IP헤더의 "송신원IP어드레스" 필드에 통신인터페이스“S-IF#2"가 저장된다. 또한, 수신노드(101-2)의 통신인터페이스 R-IF (1500-1)의 IP어드레스 [200.7.8.9]는 IP헤더의 "수신지IP어드레스" 필드에 저장된다.
IP루팅처리부(1318)에서, 송신IP판정/송출처리부(1320)는 IP패킷대기부(1317)로부터 송출IP패킷(1611)을 취득하고, 경로제어표(1321)와 IF어드레스관리표(1322)를 이용하여 송출IP패킷으로부터 건네진 통신인터페이스를 결정한다. 따라서, 송신처리가 실행된다.
도 20은 본 실시예의 송신IP판정/송출처리부(1320)의 송신IF판정을 보여주는 흐름도이다. 이 실시예에서, 경로제어표(1321)가 엔트리수 x로 구성되는 경우, 송신IP판정/송출처리부(1320)는 변수로서, 카운트값 i, 제1후보리스트, 카운트값 m, 카운트값 j, 제2후보리스트 및 카운트값 n을 마련한다. 카운트값 i는 검색처리가 제1조건하에서 실시되는 경우 경로제어표(1321)의 엔트리를 나타낸다. 제1후보리스트는 제1조건하에서 송신후보로서 선택된 경로제어표에 엔트리들의 배열을 저장한다. 카운트값 m은 제1후보리스트에 저장된 엔트리들의 수를 나타낸다. 카운트값 j는 검색처리가 제2조건하에서 실시되는 경우 제1후보리스트의 엔트리를 나타낸다. 제2후보리스트는 제2조건하에 송신후보로서 선택된 송신인터페이스의 배열을 저장한다. 카운터값 n은 제2후보리스트에 저장된 엔트리들의 수를 나타낸다. 우선, 송 출IP패킷(1611)은 IP패킷대기부(1317)로부터 취득된다. “1”은 초기값으로서 카운트값 i, j에 설정되고 “0”은 초기값으로서 카운트값 m, n에 설정된다(단계 401). 다음, 단계 402가 진행된다.
다음, 카운트값 i 와 x가 비교되고 제1후보검색이 완료되었는지를 판정한다(단계 402). 특히, 카운트값 i가 카운트값 x와 동일한 경우, 제1후보검색이 완료된다. 카운트값 i가 카운트값 x와 동일하지 않은 경우(단계 402에서 NO), 송출IP패킷(1611)의 수신지IP어드레스에 저장된 값은 경로제어표의 i번째 엔트리의 수신지네트워크IP어드레스에 저장된 값과 비교된다. 비교결과가 일치하는 경우(단계 403에서 YES), 경로제어표에서 i번째의 내용이 제1후보리스트이 m번째에 복사된다(단계 404). 따라서, 카운트값 m이 1만큼 증가한다(단계 405). 또한, 카운트값 i가 1만큼 증가하는 경우(단계 406), 다음 경로제어표엔트리처리로 진행된다. 송출IP패킷(1611)의 수신지IP어드레스에 저장된 값이 경로제어표의 i번째 엔트리의 수신지네트워크IP어드레스에 저장된 값과 일치하지 않는 경우, 변화없이 단계 406으로 진행된다.
단계 402와 406 간에 처리가 반복됨으로써, 각 엔트리가 경로제어표의 제1엔트리로부터 순차로 처리된다. 처리가 마지막 엔트리에 도달하면(단계 402에서 YES), 제1후보리스트에 엔트리가 존재하는지를 판정하기 위해 단계 407로 진행된다.
특히, 제1후보의 존재 또는 부존재는 카운트값 m에 의해 결정된다. 카운트값 m이 “0”인 경우(단계 407에서 YES), 송출IP패킷(1611)을 송출하기 위한 통신인터페이스가 존재하지 않기 때문에 처리가 종료된다. 카운트값 m이 "0"이 아닌 경우(단계 407에서 NO), 제1후보는 존재하고 단계 408로 진행된다. 다음으로, 카운트값 m이“1”인지를 판단한다(단계 408). 카운트값 m이 "1"인 경우(단계 408에서 YES), 송출IP패킷(1611)을 송출하기 위한 통신인터페이스는 유일하게 결정된다. 이런 이유 때문에, 제1후보리스트의 제1엔트리에 기록된 통신인터페이스가 취득되고(단계 409), 통신IP패킷(1611)이 취득된 통신인터페이스를 이용해 송출된다(단계 422). 따라서, 처리가 종료된다. 카운트값 m이 "1"이 아닌 경우(단계 408에서 NO), 송출IP패킷(1611)의 송출에 사용되는 통신인터페이스가 유일하게 결정될 수 없기 때문에 단계 410으로 진행된다. 따라서, 단계 410이 진행된다.
제2후보검색이 단계 410에서 완료되었는지가 판정된다. 특히, 카운트값 j가 카운트값 m과 동일한 경우, 제2후보검색은 완료된다. 카운트값 j가 카운트값 m과 동일하지 않은 경우(단계에서 NO), 먼저, 제1후보리스트의 j번째 엔트리의 통신인터페이스는 취득된다(단계 411). 다음으로, 송출IP패킷(1611)의 송신원IP어드레스에 저장된 통신인터페이스는 단계 411에서 취득된 통신인터페이스와 비교된다(단계 412). 일치하는 경우(단계 412에서 YES), 단계 411에서 취득된 통신인터페이스를 제2후보리스트의 n번째 엔트리로 복사된다(단계 413). 따라서, 카운트값 n은 1만큼 증가된다(단계 414). 또한, 카운트값 j도 1만큼 증가된다(단계 415). 따라서, 제1후보리스트의 다음 엔트리의 처리로 진행된다. 송출IP패킷(1611)의 송신원IP어드레스에 저장된 인터페이스가 단계 411에서 취득된 통신인터페이스와 일치하지 않는 경우(단계 412에서 NO), 변화없이 단계 415로 진행된다.
단계 410 및 415간의 처리를 반복함에 의해, 각 엔트리가 제1후보리스트의 제1엔트리로부터 순차로 처리된다. 처리가 마지막 엔트리에 도달한 경우(단계 410에서 YES), 제2후보리스트의 엔트리의 존재 또는 부존재를 판정하기 위해 단계 417이 진행된다.
특히, 제2후보리스트의 존재 또는 부존재는 카운트값 n에 의해 판정된다. 카운트값(n=) "0"은 제1후보리스트에 송출IP패킷(1611)을 송출할 수 있는 통신인터페이스가 존재하지만 이 상태에서 유일하게 결정되는 것은 아니라는 것을 의미한다. 카운트값(n=) "1"은 송출IP패킷(1611)을 송출할 수 있는 통신인터페이스가 유일하게 결정된다는 것을 의미한다. 카운트값(n=) "2"이상은 제2후보리스트에 송출IP패킷(1611)을 송출할 수 있는 통신인터페이스가 존재하지만 이 상태에서 유일하게 결정되는 것을 아니라는 것을 의미한다.
카운트값 n이 “1”인 경우(단계 416에서 “YES"), 통신인터페이스가 제2후보리스트의 제1엔트리로부터 취득된다(단계 417). 송출IP패킷(1611)이 취득된 통신인터페이스를 이용해 송출되고(단계 421), 따라서 처리가 종료된다. 카운트값 n이 ”1“이 아닌 경우(단계 416에서 ”NO"), 단계 419로 진행된다.
다음, 카운트값 n이 “0”인 경우(단계 418에서 “NO), 제1후보리스트의 임의의 엔트리로부터 송신인터페이스가 취득된다(단계 419). 송출IP패킷(1611)은 취득된 인터페이스를 이용해 송출되고(단계 421), 따라서, 처리가 종료된다. 카운트값 n이 ”0“이 아닌 경우(단계418에서 NO), 제2후보리스트의 임의의 엔트리로부터 송신인터페이스가 취득된다(단계 420). 송신IP패킷(1611)은 취득된 통신인터페이스 를 이용해 송신되고(단계 421), 따라서, 처리가 종료된다.
송출IP패킷(1611)의 IP헤더에서, 수신지IP어드레스가 [200.7.8.9]를 저장하고 실제로 송신원IP어드레스는 식별자“S-IF#2"(IP어드레스 아님)를 저장한다. 경로제어표(1321)에서, 엔트리들 1321-a, 1321-b, 및 1321-3c가 제1후보에 대응된다. 단계 407에서 처리의 실행에서 제1후보리스트의 제1엔트리는 경로제어표(1321)의 엔트리 1321-a의 내용을 저장한다. 제1후보리스트의 제2엔트리는 경로제어표(1321)에서 엔트리 1321-b의 내용을 저장한다. 제1후보리스트에서 제3엔트리는 경로제어표(1321)에서 엔트리 1321-c의 내용을 저장한다. "3"이 카운트값 m으로서 저장된다. 단계416에서 처리의 실행에 있어서, 제2후보리스트는 송신인터페이스로서 유일하게 "S-IF#2"를 저장하고 카운트값으로서“1”을 저장한다. 즉, 단계418의 처리는 단계417의 처리에 의한 판정에 기초해 실시된다. 단계418에서, "S-IF#2"가 송신인터페이스로서 취득된다. 송신IF판정/송출처리부(1320)는 스케줄부(313-2)에 의해 선택된 경로번호 3의 경로에 대응하는 통신인터페이스 S-IF#2 (1310-2)를 사용하여 송출IP패킷(1611)을 송출한다.
그 결과, 통신인터페이스 S-IF#2 (1310-2)는 송출IP패킷(1611)을 송출하고 수신노드(101-2)의 통신인터페이스 R-IF (1600-1)은 캐리어망GW (1400-3)을 통해 IP패킷(1611)을 수신한다.
상술한 절차에서, 본 실시에는 송신노드(100-2)와 수신노드(101-2)가 서로 일대일로 대응하지 않는 다수의 통신인터페이스를 구비한다. 개별의 IP어드레스가 각각의 통신인터페이스에 할당된 IP네트워크 구성에 있어서, IP패킷들은 스케줄 부(313-2)에 의해 결정된 경로를 이용해 송신될 수 있다.
통신인터페이스에 의해 특히 지정되지 않고, 종래기술에서의 IP루팅처리를 원하지 않는 IP패킷에 대해서도 IP루팅처리가 실시될 수 있다.
상술한 실시예의 송신노드에서, 대기부, 스케줄부 및 경로상태감시부는 각각 구성될 수 있다. 그러나, 상술한 수단의 전부 또는 일부는 제어프로그램하에서 동작하는 CPU를 사용해 구성될 수 있다.
본 발명에 따르면, 수신측으로부터 얻은 경로상태정보가 이 정보가 유효로 되는 과거에 송신된 데이터(패킷)에 적용한다. 그 결과를 송신되는 데이터(패킷)의 예측에도 반영시켜 데이터의 도착시간 또는 수신완료시간이 예측된다. 이러한 방법은 종래기술에 비해 정밀도가 좋은 예측을 할 수 있다. 그 이유는 종래기술에서는 수신측으로부터 얻은 경로정보가 수신되는 데이터(패킷)에만 적용되어 도착시간 또는 수신완료시간을 예측하고 있기 때문이다.
본 발명에 따르면, 각각이 다수의 경로를 선택할 수 있는 2노드간에 데이터를 전송하기 위해 수신측으로부터 얻은 경로상태정보를 이 정보를 유효로 하는 과거에 송신된 데이터에도 적용된다. 그 결과는 송신되는 데이터를 예측하는데 반영되어 데이터의 도착시간 또는 수신완료시간이 예측된다. 이 예측에 기초해 경로선택이 행해지기 때문에 예측의 오차에 의한 잘못된 경로를 선택함이 없이 적절한 경로가 선택된다. 따라서, 다중화효율이 낮아지는 문제를 방지할 수 있다.
본 발명에 따르면, 다수의 경로를 선택할 수 있는 2노드간에 데이터를 전송 하기 위해 각 경로의 성능이 동적으로 변화하고 이 시정수에 비해 무시할 수 없는 큰 리턴지연이 존재하는 경우에도 경로리소스가 효율적으로 이용될 수 있다.

Claims (42)

  1. 부하분산방법에 있어서,
    다수의 통신경로들을 선택할 수 있는 2노드간에 있어서, 송신측노드에 입력되는 모든 패킷마다 선택가능한 경로의 경로상태정보, 상기 경로상태정보가 유효로 되는 시간 또는 송신되는 패킷의 식별정보 및 상기 경로상태정보가 유효로 되는 시간 이후의 송신이력 또는 송신되는 패킷의 식별정보로 특정되는 패킷의 송신이후의 송신이력에 기초해 경로선택 또는 경로선택우선도의 갱신을 행하는 단계를 포함하는 부하분산방법.
  2. 부하분산방법에 있어서,
    다수의 통신경로를 선택할 수 있는 2노드간에 있어서, 송신측노드에 입력되는 패킷마다 선택가능한 경로의 경로상태를 감시하고, 그 경로상태의 경로상태정보와 이 경로상태정보가 유효로 되는 시간 또는 패킷의 식별정보를 기억하는 단계;
    경로상태정보와 상기 경로상태정보가 유효로 되는 시간 이후의 패킷의 송신이력 또는 상기 송신되는 패킷의 식별정보로 특정되는 패킷의 송신이후의 패킷의 송신이력에 기초해 각 경로에서의 도착예상시간을 추정하는 단계; 및
    상기 추정된 도착예상시간에 기초해 경로선택 또는 선택우선권을 갱신하는 단계를 포함하는 부하분산방법.
  3. 제1항에 있어서, 상기 경로상태정보는 경로의 지연을 포함하는 부하분산방법.
  4. 제1항에 있어서, 상기 경로상태정보는 경로의 통신속도를 포함하는 부하분산방법.
  5. 제1항에 있어서, 상기 경로상태정보는 경로의 부하를 포함하는 부하분산방법.
  6. 제1항에 있어서, 경로상태정보가 경로의 선택 또는 선택우선도의 갱신을 위해 갱신되는 경우, 각 경로의 경로상태정보를 갱신하기 이전에 송신된 패킷에 관한 송신코스트계산결과에 수정을 가하는 단계를 더 포함하는 부하분산방법.
  7. 제6항에 있어서, 각 경로의 송신코스트계산결과가 수정되는 경우, 최신의 경로상태정보가 유효로 되는 시간 이후 또는 최초의 송신된 패킷 이전의 이력을 파기하는 단계를 더 포함하는 부하분산방법.
  8. 제1항에 있어서, 패킷송신경로로서 수신측노드에서의 수신완료시간의 추정값이 제일 빠른 경로를 선택하는 단계를 더 포함하는 부하분산방법.
  9. 제1항에 있어서, 패킷송신경로로서 수신측노드에서 특정시간까지 수신완료될 수 있는 데이터량의 추정값이 최대인 경로를 선택하는 단계를 더 포함하는 부하분산방법.
  10. 제1항에 있어서, 각 경로에 추정된 현재의 경로상태에 따라 데이터의 송신을 중단하는 부하분산방법.
  11. 제10항에 있어서, 상기 데이터의 송신을 중단하기 위한 기준은 추정수신완료시간이 특정값 이상인 부하분산방법.
  12. 제1항에 있어서, 경로선택 또는 송신중단은 송신데이터의 속성마다 다른 폴리시에 따라 결정되는 부하분산방법.
  13. 제1항에 있어서,
    수신패킷의 수신지어드레스에 대응하는 통신인터페이스를 통신인터페이스의 어드레스와 상기 통신인터페이스를 이용해 도달하는 수신지어드레스와 관련된 표로부터 선택하는 단계;
    상기 수신패킷이 송신원어드레스 또는 통신인터페이스를 지정하는 정보를 가지는 경우, 상기 송신원어드레스 또는 통신인터페이스에 대응하는 통신인터페이스를 상기 선택된 통신인터페이스로부터 선택하는 단계;
    상기 수신패킷이 송신원어드레스 또는 통신인터페이스에 관한 정보를 가지지 않는 경우, 상기 선택된 통신인터페이스 중에서 임의의 통신인터페이스를 선택하는 단계; 및
    상기 수신패킷을 선택된 통신인터페이스에 송출하는 단계를 포함하는 부하분산방법.
  14. 다수의 패킷송신경로를 선택할 수 있는 노드에 있어서,
    입력된 패킷마다 선택가능한 각 경로에 대한 경로상태정보, 상기 경로상태정보가 유효로 되는 시간 또는 송신되는 패킷의 식별정보, 및 상기 경로상태정보가 유효로 되는 시간 이후의 송신이력 또는 송신되는 패킷의 식별정보로 특정되는 패킷의 송신이후의 송신이력에 기초해, 경로선택 또는 선택우선도의 갱신을 행하는 수단을 포함하는 노드.
  15. 다수의 패킷송신경로를 선택할 수 있는 노드에 있어서,
    송신측노드에 입력된 패킷마다 선택가능한 각 경로의 경로상태를 감시하고 그 경로상태의 경로상태정보와 이 경로상태정보가 유효로 되는 시간 또는 패킷식별정보를 감시하는 감시수단;
    상기 경로상태정보와 이 경로상태정보가 유효로 되는 이후의 패킷송신이력이 저장된 메모리수단; 및
    상기 경로상태정보와 이 경로상태정보가 유효로 되는 이후의 패킷송신이력에 기초해 각 경로에서의 패킷의 도착예상시간을 추정하고 상기 추정된 도착예상시간에 기초해 경로의 선택 또는 선택우선도의 갱신을 행하는 스케줄수단을 포함하는 노드.
  16. 제15항에 있어서, 상기 경로상태정보는 경로의 지연을 포함하는 노드.
  17. 제15항에 있어서, 상기 경로상태정보는 경로의 통신속도를 포함하는 노드.
  18. 제15항에 있어서, 상기 경로상태정보는 경로의 부하를 포함하는 노드.
  19. 제15항에 있어서, 상기 스케줄수단은 경로의 선택 또는 선택우선도의 갱신시에 각 경로의 경로상태정보가 갱신되는 경우, 갱신 이전에 송신된 패킷에 관한 송신코스트계산결과를 수정하는 노드.
  20. 제19항에 있어서, 상기 스케줄수단은 각 경로의 송신코스트계산결과가 수정되는 경우, 최신의 경로상태정보를 유효로 하는 최초의 송신된 패킷 이전의 이력을 파기하는 노드.
  21. 제15항에 있어서, 상기 스케줄수단은 패킷송신경로로서 수신측노드에서의 수신완료시간의 추정값이 제일 빠른 경로를 선택하는 노드.
  22. 제15항에 있어서, 상기 스케줄수단은 패킷송신경로로서, 수신측노드에서 특정시간까지 수신완료될 수 있는 데이터량의 추정값이 최대인 경로를 선택하는 노드.
  23. 제15항에 있어서, 상기 스케줄수단은 각 경로에 대해 추정되는 현재의 경로상태에 대응하여 데이터의 송신을 중단하는 노드.
  24. 제23항에 있어서, 상기 데이터송신의 중단을 위한 기준은 추정수신완료시간이 특정값 이상인 노드.
  25. 제15항에 있어서, 상기 스케줄수단은 경로선택 또는 송신의 중단을 송신데이터의 속성 마다 다른 폴리시에 따라 판단하는 노드.
  26. 제15항에 있어서,
    통신인터페이스의 어드레스와 상기 통신인터페이스를 이용하여 도달할 수 있는 수신지어드레스가 관련된 표; 및
    송신되는 패킷의 수신지어드레스에 대응하는 통신인터페이스를 상기 표로부터 선택하고, 상기 송신패킷이 송신원어드레스 또는 통신인터페이스를 지정하는 정보를 가지는 경우에는 상기 송신원어드레스 또는 통신인터페이스에 대응하는 통신 인터페이스를 상기 선택된 통신인터페이스로부터 선택하고, 선택된 송신인터페이스에 상기 송신패킷을 송출하는 루팅수단을 더 포함하는 노드.
  27. 다수의 패킷송신경로를 선택할 수 있는 노드를 이용할 수 있는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체에 있어서, 상기 노드제어프로그램은 노드를,
    입력된 패킷마다 선택가능한 각 경로에 대한 경로상태정보, 상기 경로상태정보가 유효로 되는 시간 또는 송신되는 패킷의 식별정보, 및 상기 경로상태정보가 유효로 되는 시간 이후의 송신이력 또는 송신되는 패킷의 식별정보로서 특정되는 패킷의 송신이후의 송신이력에 기초해 경로의 선택 또는 선택우선도를 갱신하는 수단으로서 제어하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  28. 다수의 패킷송신경로를 선택할 수 있는 노드를 이용할 수 있는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체에 있어서, 상기 노드제어프로그램은 노드를,
    송신측노드에서 입력되는 패킷마다 선택가능한 각 경로의 경로상태를 감시하고 상기 경로상태의 경로상태정보와 상기 경로상태정보를 유효로 하는 시간 또는 패킷의 식별정보를 감시하는 감시수단; 및
    상기 경로상태정보와 이 경로상태정보가 유효로 되는 이후의 패킷의 송신이력에 기초해 각 경로에서의 패킷도착예상시간을 추정하고, 상기 추정된 도착예상시간에 기초해 경로의 선택 또는 선택우선도를 갱신하는 스케줄수단으로서 제어하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  29. 제28항에 있어서, 상기 경로상태정보는 경로의 지연을 포함하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  30. 제28항에 있어서, 상기 경로상태정보는 경로의 통신속도를 포함하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  31. 제28항에 있어서, 상기 경로상태정보는 경로의 부하를 포함하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  32. 제28항에 있어서, 경로의 선택 또는 선택우선도의 갱신시에 각 경로의 경로상태정보가 갱신되는 경우 갱신이전에 송신된 패킷에 관한 송신코스트계산결과를 수정하기 위해 상기 스케줄수단을 제어하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  33. 제32항에 있어서, 각 경로의 송신코스트계산결과가 수정될 때 최신의 경로상태정보를 유효로 하는 최초의 송신되는 패킷 이전의 이력을 파기하기 위해 상기 스케줄수단을 제어하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  34. 제28항에 있어서, 패킷송신경로로서 수신측노드에서의 수신완료시간의 추정값이 제일 빠른 경로를 선택하기 위해 상기 스케줄수단을 제어하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  35. 제28항에 있어서, 패킷송신경로로서 수신측노드에서 특정시간까지 수신완료될 수 있는 데이터량의 추정값이 최대인 경로를 선택하기 위해 상기 스케줄수단을 제어하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  36. 제28항에 있어서, 각 경로에 대해 추측되는 현재의 경로상태에 따라 데이터의 송신을 중단하기 위해 상기 스케줄수단을 제어하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  37. 제36항에 있어서, 상기 데이터송신의 중단을 위한 기준은 추정수신완료시간이 특정값 이상인 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  38. 제28항에 있어서, 송신데이터의 속성 마다 다른 폴리시에 따라 경로선택 또는 송신중단을 판단하기 위해 상기 스케줄수단을 제어하는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  39. 제28항에 있어서,
    송신되는 패킷의 수신지어드레스에 대응하는 통신인터페이스를 통신인터페이스의 어드레스와 이 통신인터페이스를 이용하여 도달할 수 있는 수신지어드레스에 관련된 표에서 선택하고,
    상기 송신되는 패킷이 송신원어드레스 또는 통신인터페이스를 지정하는 정보를 가진 경우에는 상기 송신원어드레스 또는 통신인터페이스에 대응하는 통신인터페이스를 상기 선택된 통신인터페이스에서 선택하고,
    상기 선택된 통신인터페이스에 상기 송신되는 패킷을 송출하는 루팅수단으로서 기능시키는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
  40. 송신패킷의 도착시간 또는 수신완료시간을 추정하는 송신패킷의 시간추정방법에 있어서,
    송신측노드에서 송신된 송신패킷에 패킷식별을 위한 패킷식별정보를 부가한 후 송신하는 단계;
    송신측노드에서 송신된 패킷의 송신이력을 패킷식별정보와 함께 저장하는 단계;
    수신노드측에서 경로상태의 정보를 이 경로상태에 수신된 최후의 패킷에 관한 패킷식별정보와 함께 송신측노드에 송신하는 단계; 및
    수신노드측에서 경로상태정보와 상기 경로상태의 정보에 포함된 패킷식별정보로 특정된 패킷 이후에 송신된 패킷의 송신이력에 기초해 송신되도록 도착시간 또는 수신완료시간을 추정하는 단계를 포함하는 송신패킷의 시간추정방법.
  41. 노드에 있어서,
    송신패킷에 패킷식별을 위한 패킷식별정보를 부가하여 송신하는 수단;
    송신된 패킷의 송신이력을 패킷식별정보와 함께 저장하는 수단;
    수신측으로부터 송신된 경로상태정보를 수신하고 이 경로상태와 이 경로상태를 유효로 하는 패킷 이후에 송신된 패킷의 송신이력에 기초해 송신되도록 패킷의 도착시간 또는 수신완료시간을 추정하는 수단을 포함하는 노드.
  42. 패킷을 송신하는 노드를 위한 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체로서, 상기 제어프로그램은 상기 노드를,
    송신패킷에 패킷식별을 위한 패킷식별정보를 부가하여 송신하는 수단;
    송신된 패킷의 송신이력을 패킷식별정보와 함께 저장하는 수단;
    수신측으로부터 송신된 경로상태정보를 수신하고 이 경로상태와 이 경로상태를 유효로 하는 패킷 이후에 송신된 패킷의 송신이력에 기초해 송신되도록 하는 패킷의 도착시간 또는 수신완료시간을 추정하는 수단으로서 기능시키는 노드제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체.
KR20067012833A 2004-01-09 2005-01-07 부하분산방법, 노드 및 제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체 KR100811727B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2004004545 2004-01-09
JPJP-P-2004-00004545 2004-01-09
JP2004260245 2004-09-07
JPJP-P-2004-00260245 2004-09-07
JPJP-P-2005-00000997 2005-01-05
JP2005000997 2005-01-05

Publications (2)

Publication Number Publication Date
KR20060101783A KR20060101783A (ko) 2006-09-26
KR100811727B1 true KR100811727B1 (ko) 2008-03-11

Family

ID=34753496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20067012833A KR100811727B1 (ko) 2004-01-09 2005-01-07 부하분산방법, 노드 및 제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체

Country Status (6)

Country Link
US (1) US8098648B2 (ko)
EP (1) EP1705845B1 (ko)
JP (1) JP4396859B2 (ko)
KR (1) KR100811727B1 (ko)
CN (1) CN1910870B (ko)
WO (1) WO2005067227A1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101317400B (zh) * 2005-12-02 2012-11-14 日本电气株式会社 通信装置、装置启动控制方法和通信控制方法
WO2007083687A1 (ja) * 2006-01-23 2007-07-26 Nec Corporation 通信方法、通信システム、ノードおよびプログラム
WO2007111331A1 (ja) * 2006-03-29 2007-10-04 Nec Corporation 通信方法、ノード及び制御プログラム
US7583677B1 (en) 2006-11-03 2009-09-01 Juniper Networks, Inc. Dynamic flow-based multi-path load balancing with quality of service assurances
JP5205819B2 (ja) * 2007-06-06 2013-06-05 日本電気株式会社 通信システムおよびそのパケットスケジューリング方法ならびに送信ノード
US8060649B2 (en) * 2007-06-26 2011-11-15 Aruba Networks Cayman Method and system for dynamic metric and wireless hello protocol
US8250256B2 (en) * 2007-07-24 2012-08-21 International Business Machines Corporation Methods, systems and computer products for user-managed multi-path performance in balanced or unbalanced fabric configurations
US20090296737A1 (en) * 2008-06-03 2009-12-03 Ram Arye Method and system for connecting two nodes over multiple communication links
JP2010045662A (ja) * 2008-08-14 2010-02-25 Nec Corp 通信回線選択装置、通信回線選択方法、およびプログラム
JP5080515B2 (ja) * 2009-02-26 2012-11-21 Kddi株式会社 トラヒック流量配分方法およびシステム
ES2355671B1 (es) * 2009-04-23 2012-02-02 Vodafone España, S.A.U. Encaminamiento de tráfico en una red de comunicación celular.
JP5471652B2 (ja) 2010-03-17 2014-04-16 日本電気株式会社 通信ノード装置、通信システム及びそれらに用いる宛先受信インタフェース選択方法
EP2381621A1 (en) * 2010-04-21 2011-10-26 Thomson Licensing Method for evaluating an available path bitrate based on an acknowledgment path selection
US9166681B2 (en) * 2010-10-13 2015-10-20 Telefonaktiebolaget L M Ericsson (Publ) Determining asymmetries in a communication network
US8521884B2 (en) * 2010-12-15 2013-08-27 Industrial Technology Research Institute Network system and method of address resolution
WO2012165814A2 (ko) 2011-06-03 2012-12-06 에스케이 텔레콤주식회사 송수신장치 및 송수신장치의 동작 방법
WO2012165809A2 (ko) * 2011-06-03 2012-12-06 에스케이 텔레콤주식회사 이기종 네트워크 기반 데이터 동시 전송 서비스 방법 및 장치
JP5716587B2 (ja) * 2011-07-19 2015-05-13 富士通株式会社 経路決定装置,経路決定方法,管理プログラム及び管理装置
KR101437364B1 (ko) * 2011-07-19 2014-09-03 에스케이텔레콤 주식회사 송신장치 및 수신장치와 그 장치의 동작 방법
JP5915015B2 (ja) * 2011-07-25 2016-05-11 ソニー株式会社 通信装置及び通信方法、並びに通信システム
WO2013091237A1 (en) * 2011-12-23 2013-06-27 Nokia Corporation Method in a serial communication
US9170979B2 (en) * 2012-03-23 2015-10-27 Arm Limited Converging interconnect node controlling operation related to associated future item in dependence upon data predicted based on current transaction data item passing through
CN103716835B (zh) 2012-09-29 2017-06-16 国际商业机器公司 基于多路径传输和接收数据的方法、装置和系统
JP5929682B2 (ja) * 2012-10-09 2016-06-08 富士通株式会社 ネットワーク設計装置、ネットワーク設計方法、ネットワーク設計プログラム
US9344384B2 (en) * 2012-11-13 2016-05-17 Netronome Systems, Inc. Inter-packet interval prediction operating algorithm
US9647905B1 (en) * 2012-12-21 2017-05-09 EMC IP Holding Company LLC System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval
CA2845350C (en) * 2013-03-22 2018-12-18 Syscor Controls & Automation Inc. Cable assembly for providing power through inductive coupling
US9893868B2 (en) * 2013-04-04 2018-02-13 Nokia Solutions And Networks Oy Per-protocol data unit delivery-path indication
WO2014207919A1 (ja) * 2013-06-28 2014-12-31 株式会社 東芝 電子機器
US9191330B2 (en) * 2013-11-14 2015-11-17 International Business Machines Corporation Path selection for network service requests
JP2015138990A (ja) * 2014-01-20 2015-07-30 キヤノン株式会社 受信装置、送信装置及び通信システム
EP2945416B1 (en) * 2014-05-13 2018-04-11 Cellxion Limited Method and apparatus for transmission of data over a plurality of networks
CN104363171B (zh) * 2014-10-22 2017-11-24 上海华为技术有限公司 一种用户报文的转发控制方法以及处理节点
CN109565693B (zh) * 2016-05-24 2022-06-03 马维尔以色列(M.I.S.L.)有限公司 用于使用时间复用字段的网络遥测的方法和设备
JP7073624B2 (ja) * 2017-02-09 2022-05-24 オムロン株式会社 通信システム、通信装置および通信方法
JP6831527B2 (ja) * 2017-08-04 2021-02-17 日本電信電話株式会社 経路制御方法及び経路設定装置
US20190260657A1 (en) * 2018-02-21 2019-08-22 Cisco Technology, Inc. In-band performance loss measurement in ipv6/srv6 software defined networks
US11184235B2 (en) * 2018-03-06 2021-11-23 Cisco Technology, Inc. In-band direct mode performance loss measurement in software defined networks
US11218415B2 (en) * 2018-11-18 2022-01-04 Mellanox Technologies Tlv Ltd. Low-latency processing of multicast packets
KR102559552B1 (ko) * 2018-12-17 2023-07-26 한국전자통신연구원 다매체 다중경로 네트워크의 최적 경로 선택 시스템 및 그 방법
EP3716537A1 (de) * 2019-03-25 2020-09-30 Siemens Aktiengesellschaft Verfahren zur datenkommunikation, netzwerkknoten, computerprogramm und computerlesbares medium
KR20200122845A (ko) * 2019-04-19 2020-10-28 삼성전자주식회사 전자 장치 및 그 데이터 전송 제어 방법
KR102506464B1 (ko) * 2019-05-17 2023-03-06 삼성전자 주식회사 무선 통신 시스템에서 지연 감소를 위한 패킷 전송의 제어 방법 및 장치
CN111760276B (zh) * 2020-07-16 2022-06-14 腾讯科技(深圳)有限公司 游戏行为控制方法、装置、终端、服务器和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH057224A (ja) * 1991-04-17 1993-01-14 Mitsubishi Electric Corp パケツト交換網
JP2001007747A (ja) * 1999-06-24 2001-01-12 Kdd Corp 伝送路選択方法および装置
JP2003188907A (ja) * 2001-12-19 2003-07-04 Fujitsu Ltd 移動ip通信におけるルーチング方法及び移動中継装置

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5827449A (ja) 1981-08-11 1983-02-18 Nippon Telegr & Teleph Corp <Ntt> パケツト交換の径路選択方式
US5247464A (en) * 1989-05-25 1993-09-21 Digital Equipment Corporation Node location by differential time measurements
JPH03242983A (ja) * 1990-02-06 1991-10-29 Internatl Business Mach Corp <Ibm> 磁気構造体の製造方法
JP3672341B2 (ja) * 1993-07-21 2005-07-20 富士通株式会社 通信網分離設計方式とその管理方式
US5359593A (en) * 1993-08-26 1994-10-25 International Business Machines Corporation Dynamic bandwidth estimation and adaptation for packet communications networks
EP0714192A1 (en) * 1994-11-24 1996-05-29 International Business Machines Corporation Method for preempting connections in high speed packet switching networks
EP0753979A1 (en) * 1995-07-13 1997-01-15 International Business Machines Corporation Routing method and system for a high speed packet switching network
US6400681B1 (en) * 1996-06-20 2002-06-04 Cisco Technology, Inc. Method and system for minimizing the connection set up time in high speed packet switching networks
US5889989A (en) * 1996-09-16 1999-03-30 The Research Foundation Of State University Of New York Load sharing controller for optimizing monetary cost
JP2001502503A (ja) * 1996-10-11 2001-02-20 サーノフ コーポレイション ビットストリーム解析のための装置及び方法
US5878026A (en) * 1996-11-19 1999-03-02 At&T Corp. Resource sharing for book-ahead and instantaneous-request calls
US5926463A (en) * 1997-10-06 1999-07-20 3Com Corporation Method and apparatus for viewing and managing a configuration of a computer network
EP1033002A4 (en) * 1997-11-07 2005-10-05 Visual Networks Tech Inc METHOD AND APPARATUS FOR PERFORMING PARAMETER SERVICE LEVEL ANALYZES OF HOLDING DATA COMMUNICATION NETWORK
JP3665460B2 (ja) * 1997-12-05 2005-06-29 富士通株式会社 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体
JP3599557B2 (ja) * 1998-02-27 2004-12-08 沖電気工業株式会社 処理レート監視装置
US6865160B1 (en) * 1998-05-04 2005-03-08 Hewlett-Packard Development Company, L.P. Broadcast tree determination in load balancing switch protocols
US6594238B1 (en) * 1998-06-19 2003-07-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for dynamically adapting a connection state in a mobile communications system
JP3602972B2 (ja) * 1998-07-28 2004-12-15 富士通株式会社 通信性能測定装置及びその測定方法
JP2000049862A (ja) 1998-07-30 2000-02-18 Nippon Denki Ido Tsushin Kk パケット通信網の方路選択方式
US6301244B1 (en) 1998-12-11 2001-10-09 Nortel Networks Limited QoS-oriented one-to-all route selection method for communication networks
JP3540183B2 (ja) 1999-01-21 2004-07-07 株式会社東芝 マルチリンク通信装置
CN1153427C (zh) * 1999-01-26 2004-06-09 松下电器产业株式会社 数据中继处理方法和装置
EP1069801B1 (en) * 1999-07-13 2004-10-06 International Business Machines Corporation Connections bandwidth right sizing based on network resources occupancy monitoring
US6580694B1 (en) * 1999-08-16 2003-06-17 Intel Corporation Establishing optimal audio latency in streaming applications over a packet-based network
JP3781928B2 (ja) * 1999-11-11 2006-06-07 富士通株式会社 通信網のパス選択方法及びその装置
US6940831B1 (en) * 1999-11-29 2005-09-06 Matsushita Electric Industrial Co., Ltd Wireless communications system
JP3601393B2 (ja) * 2000-01-11 2004-12-15 日本電気株式会社 データグラム中継装置及びその方法
US6414971B1 (en) * 2000-01-31 2002-07-02 Sony Corporation System and method for delivering data packets in an electronic interconnect
US6873600B1 (en) * 2000-02-04 2005-03-29 At&T Corp. Consistent sampling for network traffic measurement
US6430160B1 (en) * 2000-02-29 2002-08-06 Verizon Laboratories Inc. Estimating data delays from poisson probe delays
JP3575381B2 (ja) * 2000-03-24 2004-10-13 日本電気株式会社 リンクステートルーティング用通信装置及びリンクステートルーティング用通信方法
DE60104353T2 (de) * 2000-04-07 2005-07-21 Ntt Docomo Inc. Verfahren und Einrichtung zur Reduktion des Verzögerungsjitters in der Datenübertragung
US6741569B1 (en) * 2000-04-18 2004-05-25 Telchemy, Incorporated Quality of service monitor for multimedia communications system
JP2001308917A (ja) 2000-04-20 2001-11-02 Yokogawa Electric Corp トラフィック制御装置
JP3511978B2 (ja) 2000-05-18 2004-03-29 日本電気株式会社 優先度制御機能付きルータ及びプログラムを記録した機械読み取り可能な記録媒体
US7240364B1 (en) * 2000-05-20 2007-07-03 Ciena Corporation Network device identity authentication
US6958977B1 (en) * 2000-06-06 2005-10-25 Viola Networks Ltd Network packet tracking
US6707821B1 (en) * 2000-07-11 2004-03-16 Cisco Technology, Inc. Time-sensitive-packet jitter and latency minimization on a shared data link
JP4082858B2 (ja) * 2000-10-30 2008-04-30 富士通株式会社 ネットワークアクセス制御方法及びそれを用いたネットワークシステム及びそれを構成する装置
JP2002176441A (ja) 2000-12-08 2002-06-21 Fujitsu Ltd 通信装置
US6850498B2 (en) * 2000-12-22 2005-02-01 Intel Corporation Method and system for evaluating a wireless link
JP4511021B2 (ja) * 2000-12-28 2010-07-28 富士通株式会社 トラフィック情報収集装置およびトラフィック情報収集方法
US6820134B1 (en) * 2000-12-28 2004-11-16 Cisco Technology, Inc. Optimizing flooding of information in link-state routing protocol
AU2002316128A1 (en) * 2001-05-18 2002-12-03 Bytemobile, Inc. Quality of service management for multiple connections within a network communication system
US7012893B2 (en) * 2001-06-12 2006-03-14 Smartpackets, Inc. Adaptive control of data packet size in networks
AUPR580301A0 (en) * 2001-06-20 2001-07-12 Tele-Ip Limited Adaptive packet routing
JP3965283B2 (ja) * 2001-07-02 2007-08-29 株式会社日立製作所 複数種類のパケット制御機能を備えたパケット転送装置
US7082124B1 (en) * 2001-07-10 2006-07-25 Cisco Technology, Inc. Method and apparatus for computing primary and alternate paths in mixed protection domain networks
US7111074B2 (en) * 2001-07-24 2006-09-19 Pluris, Inc. Control method for data path load-balancing on a data packet network
US7376731B2 (en) * 2002-01-29 2008-05-20 Acme Packet, Inc. System and method for providing statistics gathering within a packet network
US7296083B2 (en) * 2002-06-28 2007-11-13 Microsoft Corporation Method and system for measuring load and capacity on a variable capacity channel
US7206861B1 (en) * 2002-07-29 2007-04-17 Juniper Networks, Inc. Network traffic distribution across parallel paths
US7313141B2 (en) * 2002-10-09 2007-12-25 Alcatel Lucent Packet sequence number network monitoring system
US7336618B2 (en) * 2002-10-25 2008-02-26 General Instrument Corporation Method for monitoring performance of network using IP measurement protocol packets
US8296407B2 (en) * 2003-03-31 2012-10-23 Alcatel Lucent Calculation, representation, and maintenance of sharing information in mesh networks
US7457868B1 (en) * 2003-12-30 2008-11-25 Emc Corporation Methods and apparatus for measuring network performance
US7660241B2 (en) * 2004-07-20 2010-02-09 Alcatel Lucent Load balancing in a virtual private network
US7539142B1 (en) * 2004-07-21 2009-05-26 Adtran, Inc. Ethernet LAN interface for T3 network
US7539175B2 (en) * 2004-11-19 2009-05-26 The Trustees Of Stevens Institute Of Technology Multi-access terminal with capability for simultaneous connectivity to multiple communication channels
JP4117291B2 (ja) * 2004-12-28 2008-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク情報を収集、分析し、ネットワーク構成情報を作成する装置、ネットワーク構成情報を作成する方法、及びネットワーク構成情報を作成するプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH057224A (ja) * 1991-04-17 1993-01-14 Mitsubishi Electric Corp パケツト交換網
JP2001007747A (ja) * 1999-06-24 2001-01-12 Kdd Corp 伝送路選択方法および装置
JP2003188907A (ja) * 2001-12-19 2003-07-04 Fujitsu Ltd 移動ip通信におけるルーチング方法及び移動中継装置

Also Published As

Publication number Publication date
JP4396859B2 (ja) 2010-01-13
KR20060101783A (ko) 2006-09-26
EP1705845B1 (en) 2012-08-08
US8098648B2 (en) 2012-01-17
WO2005067227A1 (ja) 2005-07-21
EP1705845A4 (en) 2010-12-08
CN1910870B (zh) 2013-03-27
EP1705845A1 (en) 2006-09-27
CN1910870A (zh) 2007-02-07
US20070002748A1 (en) 2007-01-04
JPWO2005067227A1 (ja) 2007-12-20

Similar Documents

Publication Publication Date Title
KR100811727B1 (ko) 부하분산방법, 노드 및 제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체
JPWO2005067227A6 (ja) 負荷分散方法、ノード及び制御プログラム
US10673763B2 (en) Learning or emulation approach to traffic engineering in information-centric networks
CN113395210B (zh) 一种计算转发路径的方法及网络设备
US8897130B2 (en) Network traffic management
US7948891B2 (en) Wireless communication apparatus, communication routing control apparatus, communication routing control method and communication system
Carpio et al. DiffFlow: Differentiating short and long flows for load balancing in data center networks
US20070097865A1 (en) Method for measuring end-to-end delay in asynchronous packet transfer network, and asynchronous packet transmitter and receiver
JP5464266B2 (ja) 通信システムおよびネットワーク管理方法
JP2004129196A (ja) Ipパケットの発信元を決定するシステム及び方法
JP2008518552A (ja) 粗細試験期間を使用したネットワーク・パケットの経験的スケジューリング法
US20180062986A1 (en) Network routing through an overlay network
CN104734957A (zh) 一种软件定义网络sdn中业务传输方法及装置
US20230388215A1 (en) Network control method and device
Mansour et al. Load balancing in the presence of services in named-data networking
KR101102350B1 (ko) 생태계 기반의 라우팅 장치와 이를 이용한 전송 경로 설정 방법
JP4623317B2 (ja) 通信装置、ルーティング方法及びプログラム
US8009570B2 (en) Router device for efficient routing with congestion minimized
Singh Routing algorithms for time sensitive networks
Xuan et al. Distributed admission control for anycast flows with QoS requirements
CN111917624B (zh) 一种在vxlan传输中控制信息的传送方法及系统
US20190319880A1 (en) Software defined network and method for operating the same
US8509152B2 (en) Method and apparatus for routing in wireless network
Airaldi et al. Congestion control proposal in SDN with random early detection
JPH1127321A (ja) ルーチング方法、ルータ装置及びルーチングプログラムを記録した記録媒体

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
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee