KR100234212B1 - 패킷 네트워크에서의 적응 속도기반 혼잡제어 - Google Patents

패킷 네트워크에서의 적응 속도기반 혼잡제어 Download PDF

Info

Publication number
KR100234212B1
KR100234212B1 KR1019970017124A KR19970017124A KR100234212B1 KR 100234212 B1 KR100234212 B1 KR 100234212B1 KR 1019970017124 A KR1019970017124 A KR 1019970017124A KR 19970017124 A KR19970017124 A KR 19970017124A KR 100234212 B1 KR100234212 B1 KR 100234212B1
Authority
KR
South Korea
Prior art keywords
network
data
value
congestion
best effort
Prior art date
Application number
KR1019970017124A
Other languages
English (en)
Other versions
KR19980018091A (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 KR19980018091A publication Critical patent/KR19980018091A/ko
Application granted granted Critical
Publication of KR100234212B1 publication Critical patent/KR100234212B1/ko

Links

Images

Classifications

    • 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
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • 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
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • 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
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions

Abstract

패킷 전송 네트워크를 위한 향상된 적응속도기반 혼잡제어 시스템은 네트워크의 혼잡척도로 상대적이 아닌 절대적인 네트워크 대기지연(queuing delay)을 사용한다. 혼잡제어 시스템의 다른 특징들은 미리 정해진 최소시간 경과후 시험전송을 하는 것, 선행의 시험으로 부터의 수취통지를 수령한 후 시험전송을 하는 것 또는 최소 데이터 버스트의 전송을 포함한다. 또한 상기의 혼잡제어 시스템은 저속에서는 적은 속도 감소와 고속에서는 큰 속도감소를 제공한다. 대수적인 속도제어 함수가 상기 능력을 제공한다. 속도 댐핑(damping)은 초과 속도변화에 대응하여 속도 룩업(look-up) 테이블내의 모든 값들을 변경시키는 것에 의하여 제공된다. 마지막으로, 이용가능한 대역폭의 공정공유는 시작할 때 또는 미리 정의된 속도 댐핑영역을 벗어날 때 속도에 대한 출발점으로 사용된다.

Description

패킷 네트워크에서의 적응 속도기반 혼잡제어
본 발명은 패킷 통신 네트워크에 관한 것인데, 좀더 구체적으로는 상기 네트워크에서의 혼잡을 최소화하기 위한 네트워크에 대한 사용자 액세스(access)제어에 관한 것이다.
고속 패킷 통신 네트워크에서는 여러종류의 트래픽(traffic)이 네트워크의 공동자원을 공유한다. 대화형 비디오는 지연(delay)과 손실(loss)에 민감한 트래픽을 발생시키는 반면, 예를 들어, 음성 통화는 지연에는 민감하지만 손실에는 관대한 트래픽을 발생시킨다. 파일 전송(file transfer)은 손실에는 민감하지만, 지연에는 관대한 트래픽을 발생시키는 반면, 데이터그램(datagram) 서비스는 지연에도 관대하고 손실에도 관대한 트래픽을 제공한다. 상기의 대화형 비디오와 음성통화는 사용자 트래픽이 네트워크상에 개시되기전에 종단 대 종단(end-to-end) 연결이 되어 있어야 하므로 일반적으로 예약 서비스(reserved service)라고 일컬어진다. 파일 전송과 데이터그램은, 그와는 반대로, 고정된 루트(route)가 예약됨이 없이 사용자 트래픽이 네트워크상에서 개시될 수 있으므로 비예약 서비스(non-reserved service)라고 일컬어지는데, 이 경우에는 네트워크 상에서 트래픽의 진행루트를 국부적인 가용성(local availability)에 근거하여 그때마다 하나의 링크를 찾게 된다. 비예약 서비스는 흔히 "최선노력 (best efforts)" 서비스라고 부르는데, 이러한 서비스는 버스트(bursty)하고, 지연에 관대하며 명시적인 서비스 품질 보증을 요구하지도 않는다.
최선노력 서비스는 네트워크 자원의 이용율을 예약된 트래픽만 있을 때 얻을 수 있는 이용 수준보다 더 높이 극대화 하는데 매우 유용하다. 예약된 트래픽과 비예약된 트래픽 두가지가 하나의 네트워크상에 통합되었다 할지라도, 최선노력 트래픽이 예약된 서비스 트래픽의 품질을 저하시키는 원인이 되지 않도록 보증하는 것이 필요하다. 종래의 기술에서는 두 종류의 트래픽에 대하여 각각의 링크 버퍼(link buffer)를 구비하고, 링크상의 로컬노드(local node)로 부터 전송되기를 대기하는 예약된 트래픽이 없을때에만 최선노력 트래픽을 전송하는 방법에 의하여 이러한 문제를 해결하였다. 이러한 조정은 최선노력 트래픽이 예약된 트래픽에 미치는 영향을 무시할 수 있도록 한다. 전형적으로, 예약된 트래픽 팻킷은 많아야 하나의 최선노력 패킷의 전송을 기다리곤 했다. 만약 링크가 매우 늦다면, 상기의 하나의 최선노력 패킷에 의해 발생하는 최소한의 지연조차도 제거하기 위하여 예약된 트래픽에 선취우선권(preemptive priority) 이 할당될 수 있다. 최선노력 서비스에 어떠한 제어도 없다면, 서비스된 트래픽의 양은 사용가능한 네트워크 능력의 최대치에 도달하겠지만, 네트워크의 버퍼에 혼잡이 생기게 되는 대가를 치르게 된다. 만약 혼잡으로 인하여 전송된 트래픽의 손실이 초래된다면, 손실된 패킷을 재전송하는 것이 필요하게 되어 네트워크 이용도를 감소시킨다.
따라서, 특히 최선노력 트래픽이 네트워크의 사용가능한 능력에 접근하거나 초과하는 경우, 네트워크 관리를 질서있게 하기 위해서는 혼잡제어 및 혼잡 회피가 필수적임이 명백하다. 선행 기술에서 두 가지의 혼잡 관리 시스템이 제안되었다. 하나는 적응 속도 기반(Adaptive Rate-Based : ARB) 제어라고 불리는데, R.-F. Chang 등에 의해 1994년 11월 22일자 미국 특허 5,763,523호에 개시되어 있고, 다른 하나는 적응 승인 혼잡제어(Adaptive Admission Congestion Control : AACC) 라고 불리는데, Z.Haas 에 의해 ACM SIGCOMM Computer Communication Review, 1991, pp.58-76에 발표된 "Adaptive Admission Congestion Control" 이라는 논문에 개시되어 있다. 이들 종래 기술 시스템은 모두 선택된 루트(route)상에서 네트워크를 통하여 시간이 기록(time-stamped)된 샘플링 패킷들을 연속적으로 전송하여, 상기 루트상에서의 혼잡 상태를 결정하기 위하여 연속적으로 도달된 샘플 패킷들을 처리하는 방법에 의존한다. 이러한 방법에서는 얻어진 정보를 사용하여 상기 루트를 향한 네트워크로의 진입점에서 적응 승인 제어 메카니즘(adaptive admission control mechanism)을 구동한다.
R.-F. Chang의 특허에서는, 연속적인 샘플링 패킷들의 지연의 변화가 시험기간동안 임계치를 초과할때까지 적산되는데, 임계치를 초과하게 되면, 송신 스테이선(send station)은 그 시간에 송신스테이션의 적산된 지연값을 영('0')으로 리셋(reset)하였다는 사실(event)을 연락받는다. 따라서, 지연정보는 항상 리셋 시점에 상대적이며, 네트워크의 절대적인 현재 상태를 나타내지는 않는다. 더욱이, Chang의 특허는 패스(path)지연변화 도중의 승인 속도를 변경시키기 위한 선형함수를 사용하여서, 새로운 데이터를 위한 대역폭이 사용가능한 경우에도 상당한 초기화 시간을 가지게 되는 결과를 초래한다. 이러한 현상은 데이터 속도의 변화량이 매우 큰 고속네트워크에서는 훨씬 심각하다.
이와는 반대로 Z. Hass에 의한 AACC는, 필터링(filtering)에 의해 구현되는 미리정의된 기간(이하 "쿼타"(quota)라 한다)에 걸친 평균지연을 사용하는 결과 갑작스런 혼잡이 생길때에 반응이 늦어지게 되는 원인이 되며, 미리 정의된 쿼타기간을 초과하는 기간에 걸쳐서 생성된 점진적인 혼잡에 대한 반응은 절사되었다. 더욱이 AACC 시스템은 연결이 아이들(idle)인 때에도 샘플패킷들을 계속해서 보내게 되므로, 혼잡이 일어나지 않는 상황에서도 전송자원을 낭비하게 된다.
종래 기술의 적응 혼잡제어 시스템에 있어서의 주요한 문제점들은 패스(path)지연 추정의 부정확, 부적합한 승인 증가 및 감소 변화 함수의 사용, 급속한 혼잡변화에 대한 느린 응답 및 아이들(idle) 기간동안의 불필요한 샘플패킷의 전송등이다.
제1도는 본 발명에 따른 향상된 속도기반 적응 혼잡제어가 사용될 수 있는 패킷통신 네트워크의 개괄적인 블록도.
제2도는 종단노드(endnode)에서 루트(route)를 따라서 각 패킷의 목적지를 향하여 진행하도록 패킷들이 네트워크로 들어오고, 종단노드에서 본 발명에 부합하는 네트워크 액세스(access) 메카니즘(mechanism)이 구현될 수 있는 제1도의 네트워크의 전형적인 종단노드의 상세 블록도.
제3도는 본 발명에 따른 향상된 속도기반 네트워크 혼잡제어 시스템의 개괄적인 블록도.
제4도는 본 발명인 속도기반 혼잡제어 시스템을 이해하는데 유요한 제1도의 네트워크를 통한 샘플패킷들의 연속적인 전송을 나타내는 도면.
제5도는 본 발명에 부합하는 속도기반 혼잡제어 시스템을 이해하는데 유용한 가능한 전송속도 성장곡선의 그래프.
제6도는 본 발명에서 사용할 수 있는 속도표.
제7도는 본 발명에 부합하는 샘플링(sampling)정책을 보여주는 비예약(unreserved) 데이터소스의 소스 스테이션(source station)에서 샘플 셀(cell)들이 처리되는 것을 보여주는 플로우 챠트(flow chart).
제8도는 본 발명에 따른 속도 상태 처리를 보여주는 플로우 챠트.
제9도는 본 발명에 따른 비예약(unreserved) 데이터 목적지에서 샘플패킷들이 처리되는 것을 보여주는 개괄적인 플로우챠트.
〈도면의 주요부분에 대한 부호의 설명〉
10 : 패킷 전송 시스템 11 : 네트워크 노드(network node)
12 : 종단노드(endnode) 17 : 예약 데이터소스
18 : 예약/비예약 사용자들 20 : 비예약 데이터소스
21 : 적응 승인 제어 22 : 비예약 데이터 소스
23 : 네트워크 24 : 샘플 패킷 분석기(analyzer)
25 : 샘플 수취 승인 발생기(ack. generator)
26 : 샘플 수취 승인 처리기 27 : 샘플 패킷 소스(source)
28 : 속도 테이블
33 : 패킷 스위칭 조직(packet switching fabric)
37 : 샘플 패킷 처리기 43 : 네트워크 승인 처리기
44 : 연결관리 설비 45 : 네트워크 토폴로지 데이터 베이스
본 발명의 실시예에 예시된 대로, 네트워크 사용에서 급속한 변화에 직면할 때 향상된 혼잡제어를 제공하여 종래 기술 시스템의 문제점을 극복하는 향상된 적응 속도기반 혼잡제어 메카니즘이 제공되는바, 상대적이 아니라 절대적인 척도를 현재 혼잡으로 사용하며, 네트워크의 혼잡상태에 더욱 잘 대응하는 승인 함수들을 제공한다. 더욱 구체적으로는, 본 발명의 혼잡제어 시스템은 네트워크로 진입하는 두개의 백-투-백(back-to-back) 셀들의 개시 사이의 최소 시간 간격을 결정하기 위한 스페이싱(spacing) 함수를 제공한다. 물론, 상기의 스페이싱(spacing) 함수는 현재 부여된 전송속도에 기초한다. 더욱이, 샘플링 정책은, 미리 정의된 최소 샘플링 기간이 만료되지 않고, 선행하는 샘플패킷이 도달되었다는 승인이 없고, 최종 샘플링 패킷이후 특정된 양의 데이터(이하 "샘플링 버스트(sampling burst)"라 한다)가 전송되지 않는 한, 샘플 패킷이 셋팅(setting) 되지 않는 샘플링 정책이 수행된다. 라운드 트립 지연(round trip delay)이 짧을 때(최대 데이터 처리량을 보증함)에는 샘플링 버스트(burst)에 의해 오버헤드(overhead)가 지배되고, 상기의 지연이 길때(최소 샘플 빈도를 보증함)에는 라운드 트립 지연에 의해 오버헤드가 지배됨으로 인하여 상기의 샘플링 정책은 최소 샘플링 오버헤드를 보증한다.
종래 기술의 시스템 에서와 같이, 본 발명의 지연 추정은 연속적인 샘플패킷들의 상호 도달시간들에 근거하고 있다. 네트워크 대기지연(queuing delay)으로 측정된, 상기의 혼잡은 선행하는 네트워크 대기지연을 알고 있다고 가정할 때 연속적인 샘플링 패킷들의 출발시간의 차이와 (패킷들 내의 타임 스탬프(time stamp)필드(field)로 부터 계산된다) 상기의 연속적인 샘플링 패킷들의 도달시간들의 차이(착신 스테이션(station)에서 측정된다)의 함수이다. 네트워크 지연이 영('0')으로 초기화되면, 패스(path) 지연은 어떠한 샘플패킷이라도 겪는 최소 수준의 지연으로 빠르게 감소한다. 이러한 최소 지연 값은 연결의 전과정에 걸쳐서 최소 패스 지연 실제값의 근사치로 사용될 수 있는 바, 이렇게 하면 상대적인 패스지연 변화에만 의존하지 않고 현재의 실제적인 패스지연의 계산이 가능하다. 상기의 실제적인 현재 패스지연 값들을 사용하여, 증가하는 지연이 감지되지 않을때에는 연결 속도를 증가시킬 수 있고, 소망하는 네트워크 이용율에 도달한 경우에는 연결들의 현재속도를 그대로 유지할 수 있고, 약간의 혼잡이 감지될 때에는 현재 속도에서 조금 속도를 줄일 수 있으며, 심각한 혼잡이 감지될 때에는 현재 속도에서 크게 속도를 줄일 수 있다.
결론적으로, 속도가 낮을때에는 전송속도를 크게 증가시키는 것에 의해 (따라서 효율성이 제고된다), 속도가 높을때에는 전송속도를 조금 증가시키는 것에 의해 (따라서 안정성이 제고된다), 효율성, 안전성 및 공정성을 최대화 하는 속도 변경 정책이 수행된다. 이와 유사하게, 속도가 낮을때에는 전송속도의 감소를 크게 할 수 있고 속도가 높을때에는 전송속도의 감소를 적게 할 수도 있다. 본 발명에 따라, 혼잡변화에 응답하는 전송속도의 변화를 제어하는데에 로그 함수(logarithmic function)가 사용된다. 이 전략은 남아있는 대역폭의 공유를 균등(even)하게 하여 전체적인 대역폭의 공유를 공정(fair)하게 하기 위하여 수정된다.
더 구체적으로, 상기의 속도 변경정책은 각 소스(source)에 대한 허용가능한 속도들이 연속적인 테이블 엔트리(entry)내에 원하는 대수 값 변화를 가진 테이블내에 저장되어있는 테이블 구동기법(table-driven technique)에 의하여 구현된다. 감소되기도 하고 증가되기도 하는 수취 승인들(acknowledgments : ACKs)은 다음번 승인 속도에 접근하기 위하여 테이블내의 엔트리들(entries)에 의하여 한단계 증가하거나 감소한다. 상기에서 언급한 바와 같이, 테이블 엔트리들은 속도가 낮을때는 큰 속도 변화를 제공하고 속도가 높을 때는 작은 속도변화를 제공하는 상기의 정책을 구현한다. 추가적으로, 속도 댐핑(damping) 영역이 정의되는데, 그 영역내에서는 공정하고 균등한 공유가 발생하는 것으로 가정한다. 댐핑 영역이 시작속도를 일괄하도록 초기에 정의되기는 하지만, 상기의 댐핑 영역은 댐핑 영역 외부에서의 변화에 대응하여 테이블 내에서 위 아래로 이동된다. 동시에, 테이블 값들은 미리 선택된 요인에 의하여 배수적으로 증가되거나 감소된다. 이러한 과정에서는 더 높은 테이블 값들을 갖고 있는 연결들과 비교하여 더 낮은 테이블 값들을 가진 연결에 우선권을 줌에 따라 다른 시작 시간들을 갖게 되는 연결들의 공정성을 증가시킨다.
본 발명의 다른 특징에 따라, 공정성을 더욱 증대시키기 위하여, 본 발명의 향상된 적응 속도 기반 혼잡 제어 시스템은 연결이 개시될 때 각각의 새로운 비예약 연결에 대한 초기 공정 공유 할당(initial fair share allocation)을 계산하기 위하여 네트워크 상에서 현재 사용가능한 대역폭을 사용한다. 이와 같은 계산 방법에서는 종래기술에서 새로운 연결을 하는데 네트워크의 현재 상태에 적응 하는 동안 소모되는 긴 구동시간을 피할 수 있다.
본 발명의 주요한 장점은, 루트를 따라서 있는 중간 노드에서 특별한 처리를 요구하지 않으므로 중간 노드에서의 처리에 어떠한 변경도 필요하지 않는 종단-대-종단(end-to-end) 제어 시스템이라는 것이다.
도1을 더욱 구체적으로 참조하면, 1에서 8까지의 번호가 부여된 8개의 네트워크 노드들(11)을 포함하는 패킷 전송 시스템 (10)의 개괄적인 블록도가 도시되어 있다. 네트워크 노드들 (11) 각각은 A에서 L까지의 하나 또는 2 이상의 통신 링크들에 의해서 다른 네트워크 노드들 (11)에 연결되어 있다. 상기의 각 통신링크는 전용 연결(permanent connection) 또는 다이얼-업(dial-up) 연결일 수 있다. 네트워크 노드들 (11)의 어느 것이나 또는 모두가 종단 노드들에 연결될 수 있는데, 네트워크 노드 (2)는 종단 노드들 (1, 2 및 3)에 연결되고 네트워크 노드 (7)은 종단 노드들(4, 5, 6)에 연결되며, 네트워크 노드 (8)은 종단 노드들(7, 8, 9)에 연결되어 있는 것으로 도시되어 있다. 네트워크 노느들(11)은 각각 연결된 모든 노드들 (즉, 네트워트 노드들 및 종단 노드들)에 데이터 통신 서비스를 제공할 뿐만 아니라 노드내에서 결정점(decision point)들을 제공하는 데이터 처리 시스템을 포함하고 있다. 상기의 네트워크 노드들(11)은 각각 노드내에 하나 또는 2 이상의 결정점들을 포함하고 있어서, 상기 결정점에 착신된 데이터 패킷들은 상기 노드 또는 다른 노드들내에서 끝나는(terminate) 하나 또는 2 이상의 발신 통신 링크들로 선택적으로 경로선택(selectively routed)된다. 상기의 경로선택 결정(routing decision)들은 데이터 패킷의 헤더(header)에 포함된 정보에 따라서 수행된다. 또한 상기의 네트워크 노드는 종단 노드들 사이의 새로운 루트 또는 패스(routes or paths)들의 계산, 그 노드에서의 패킷이 네트워크로 진입하는 액세스 제어의 규정, 그 노드에서의 디렉토리(directory) 서비스 규정 및 토폴로지(topology) 데이터베이스 유지 규정과 같은 부수적인 서비스들을 제공한다. 본 발명에 부합하여, 종단 노드 (12)는 도 1의 네트워크를 통하여 전송된 데이터 패킷에 대한 향상된 속도 기반 혼잡제어를 제공한다.
각각의 종단 노드들 (12) 각각은 다른 종단 노드로 전송되는 디지탈(digital) 데이터의 소스(source)를 포함하거나 다른 종단노드로 부터 도달된 디지탈 데이터를 소비하기(consuming) 위한 이용 디바이스(device)를 포함하며, 둘 다를 포함할 수도 있다. 도1의 패킷 통신 네트워크 (10)의 사용자들은 패킷 네트워크 (10)에 액세스(access)하기 위하여 로컬 네트워크(local network)(11)에 연결된 종단 디바이스 (12)를 사용할 수 있다. 상기의 로컬 네트워크 노드 (11)은 사용자 데이터를 도 1의 패킷 네트워크상에서 전송하기 위해 적절히 형태화 된(formatted) 패킷들로 변환하고, 패킷들이 네트워크 (10)을 통하여 루트(route)되는 용도로 사용되는 헤더(header)를 생성한다. 본 발명에 따라, 도 1의 네트워크에 접근하기 위한 향상된 속도 기반 적응 혼잡제어를 제공하기 위하여, 도 1의 노드들 (11) 및 (12)의 하나 또는 2 이상이 구비되어 있다.
도 1의 네트워크 상에서 패킷들을 전송하기 위하여, 상기 패킷들의 전송을 위한 소스 노드(source node)로 부터 목적지 노드(destination node)까지 네트워크를 통하는 적당한 패스 또는 루트를 계산하는 것이 필요하사. 상기 루트 상에서 어떠한 링크 상에서도 과부하를 피하기 위하여, 새로운 연결의 각 레그(leg) 상에서 충분한 대역폭이 사용될 수 있음을 보증하는 알고리즘에 따라 상기의 루트를 계산한다. 상기 최적 루트 계산 시스템 중의 한가지가 1993년 8월 3일자 미국 특허 5,233,604호에 개시되어 있다. 상기의 루트가 계산되면, 연결 요구 메시지가 네트워크 상에 개시되어 계산된 루트를 따라 진행하고, 새로운 연결을 반영하기 위하여 상기 루트를 따른 각각의 링크의 대역폭을 수정한다. 상기 루트를 데이터 패킷의 헤더부분에 위치시키는 것에 의하여 데이터 패킷들은 계산된 루트를 따라서 발신지 노드에서 목적지 노드(및 목적지 노드에서 발신지 노드로)로 전송된다. 종래 기술 시스템에서는, 도 1의 네트워크가 혼잡하게 되면, 상기 네트워크가 이런 상황을 감지하여 상기 시스템에 대한 트래픽 액세스를 제한하려는 시도를 한다. 더 구체적으로는, 네트워크를 통하여 보내지는 시간이 기록된 테스트 패킷들을 사용하여 상기 네트워크내의 혼잡을 추정하는데, 이는 연속적인 테스트 패킷들의 통과시간의 편차에 기초한 것이다. 본 발명은 이러한 종래 기술의 적응 제어 시스템들을 개량한 것이다.
도 2에는 도 1의 종단 노드들 (12)의 모두에서 볼 수 있는 네트워크 종단 노드 제어 회로의 개괄적인 블록도가 도시되어 있다. 도 2의 상기의 종단 노드 제어 회로는 고속 패킷 스위칭 조직 (33)을 포함하는바, 스위칭 조직 (33) 상으로 노드에 도달된 패킷들이 진입한다. 상기의 패킷들은 전송 링크들을 거쳐서, 도 1의 M-O 링크들과 같은 상기 네트워크의 네트워크 노드들로부터 전송 인터페이스들 (34), (35) 또는 (36)을 통하여 도달되거나, 사용자 어플리케이션들 (40), (41), (42)로부터 로컬 사용자 인터페이스들 (30), (31) 또는 (32)를 통하여 국부적으로 발생된다. 스위칭 조직(33)은, 연결관리 설비 (44)의 제어하에서, 착신 데이터 패킷들 각각을 발신 전송 링크 인터페이스 (34~36) 중 적당한 하나 또는 로컬 사용자 인터페이스 (30~32) 중 적당한 하나와 연결하는데, 이들 모두는 공지의 패킷 네트워크 동작들과 일치한다. 게다가 네트워크 관리 제어 메시지들이 데이터 패킷과 동일한 태양으로 상기의 패킷 네트워크 상에 개시되거나, 상기의 패킷 네트워크로 부터 도달된다. 즉, 도 1의 상기 네트워크상에서 전송되는 네트워크 패킷, 데이터 또는 제어 메시지 각각이 도 2에 도시한 바와 같이 스위칭 조직 (33)을 통하여 경로선택되어 질 수 있다.
도 1의 상기 네트워크를 통하는 루트 또는 패스(routes or paths)들은, 앞에서 언급한 미국 특허 5,233,604호에 개시된 바와 같이 특정 데이터 스트림(stream)을 충분히 전송하는데 필요한 만큼 결정된 서비스품질(Quality of Service : QoS) 파라미터(parameter)를 만족할 수 있도록 계산되어 진다. 상기의 서비스품질 파라미터들은 처리량(대역폭), 대기(선로지연) 및 지터(jitter)(대기편차) 같은 것들을 포함한다. 오직 한 종류의 트래픽만이 예약된 트래픽이라고 불리는 미리 선택된 서비스품질 파라미터들을 요구하고 적어도 하나의 다른 종류의 트래픽은 "최선노력" 베이스로 전송되어 질 수 있다고 가정한다면, 네트워크의 최대 사용은 예약된 트레픽에 의해 현재 사용되지 않는 모든 사용가능한 용량이 최선노력 트래픽으로 채워질 때 발생한다. 예약된 트래픽은 때에 맞춰(timely) 전송되어야 하므로, 최선노력 트래픽이 예약된 트래픽을 방해하지 않도록 하기 위하여 최선노력 트래픽의 액세스를 제어하는 것이 필요하다. 트래픽 부하 또는 고장으로 인한 변화에 기인하는 혼잡이 도 1의 패킷 네트워크내에서 발생하게 되면, 최선노력 트래픽이 네트워크에 액세스하는 것을 상기와 같은 방법으로 제한하여, 네트워크 내에서의 혼잡을 줄이고 예약된 트래픽이 방해받지 않고 흐를 수 있도록 하는 것이 필요하다. 네트워크에 액세스하는 것을 제어하는 하나의 공지기법은 네트워트내의 혼잡을 추정하고 네트워크로의입력을 조정하여 상기의 혼잡을 줄이는 것이다. 상기에서 종래기술로서 언급한 R.-F. Chang 등에 의한 미국특허와 Z.Haas에 의해 개시된 공지의 혼잡 추정 기법에서는 샘플 테스트 패킷이 각각의 데이터 스트림의 소스(source)부터 그 데이터 스트림의 목적지로 전송된다. 테스트 패킷들에 의해 전달된 시간이 기록된 필드에 의해서, 수신측 스테이션은 테스트 패킷들의 통과시간의 변화들을 식별하여 혼잡을 추정한다. 본 발명은 도 1의 시스템내의 혼잡을 추정하기 위해 테스트 패킷들을 사용하는 후자의 시스템에 근거하여 개량된 것이다. 더욱 구체적으로는, 본 발명은 연속적인 테스트 샘플 전송 동안에 상대적인 혼잡(즉, 혼잡의 변화)에 의존하기보다는 네트워크 내의 실제적인 혼잡수준을 추정하는 시도를 한다. 이러한 접근은 도 3의 블록도내의 혼잡 추정 시스템에 더 잘 나타나 있다.
도 2로 돌아가보면, 연결관리설비(connection management facilities) (44)는 네트워크 토폴로지 데이터 베이스(45)의 내용을 이용하여 사용자들 (40~42)로부터의 요구에 응답하여 도 1의 네트워크를 통하는 예약된 패스와 최선노력 패스(paths)를 계산한다. 샘플 패킷 처리기 (37)은 도 2의 종단 노드로부터 샘플 테스트 패킷들을 발생시켜 전송시킬 뿐만 아니라, 다른 종단 노드들에서 시작되어 도 2의 종단 노드를 향하는 테스트 샘플 패킷에 필요한 수신된 샘플 패킷을 처리한다. 상기의 수신된 샘플처리결과를 사용하여, 네트워크 승인처리기 (43)은 제어 신호를 발생하여 사용자 어플리케이션 (40~42)로부터의 최선노력 신호의 엑세스를 사용자 어플리케이션 어댑터 (30~32)내에서 각각 제어한다.
도 3에는, 도 2의 (37) 및 (43)블럭들에서 발생하는 테스트 샘플 패킷처리의 개괄적인 블록도가 개시되어 있다. 더 구체적으로는, 사용자 어플리케이션 (40~42)중 하나에 대응되는 예약된 데이터 소스(17)은 예약된 데이터 패킷들을 네트워크 진입 버퍼 (29)로 전송하여, 도 1의 네트워크에 대응하는 네트워크(23)으로 전송한다. 상기의 예약 데이터 트래픽은 네트워크 (23)을 통하여 네트워크 (23)의 리모트(remote) 종단노드에 있는 예약된 사용자 (18)에게로 전송된다. 사용자 어플리케이션 (40~42)중 다른 하나에 대응되는 비예약 데이터 패킷 소스(20)은 비예약(최선노력) 데이터 패킷들을 생성하여 도 1의 네트워크에 대응되는 네트워크 (23)상으로 전송한다. 적응 승인제어회로 (21)은 속도를 제어하는데, 상기 회로에서는 비예약된 데이터 소스 (20)에서 발생된 비예약 데이터 패킷들이 네트워크 진입 버퍼 (22)에 도달된 후 네트워크(23)으로 샘플 패킷들을 제공한다. 상기의 적응 승인제어회로 (21)은 1994년 5월 10일자 미국 특허 5,311,513호에 H.Ahmadi 등에 의해 개시된 것과 같은 공지의 형태이므로 여기에서는 더이상 기술하지 않는다. 테스트 샘플 패킷 소스(27)은 테스트 샘플 패킷들을 발생시키는데, 상기 패킷들은 승인 제어 회로 (21)을 통하여 네트워크 진입 버퍼(22)에 도달되어 네트워크 (23) 상에서 전송된다.
리모트 목적지 종단 노드(remote destination end node)에서는, 소스들(17) 및 (20) 로부터 발생한 데이터 패킷들이 예약/비예약 사용자들 (18)에게로 전달된다. 리모트 지점에서는, 샘플 패킷 분석기 (24)가 샘플 패킷 소스 (27)에서 생성된 테스트 샘플 패킷들을 접수하여, 이 샘플들을 처리하여 데이터 패킷 소스 (20)과 샘플 패킷 분석기 (24) 사이의 경로 내에서의 현재 혼잡상태의 절대값의 추정치를 얻는다. 본 발명에서는, 혼잡상태는 네트워크 (23) 내에서의 대기지연의 현재 길이에 의하여 근사적으로 추정된다. 상기의 혼잡추정에 대응하여, 샘플 수취통지 발생기 (25)는 각 샘플패킷의 수취통지를 발생시켜서 네트워크 (23)의 후방향으로 전송한다. 상기의 수취통지는 네트워크 (23)을 통한 상기 연결상에서의 현재 대기지연의 코드화된 추정치를 포함한다.
상기의 수취통지는 네트워크 (23)을 통하여 최초 샘플 패킷의 소스 종단 노드측에 있는 샘플 수취 승인 처리기 (26)으로 전달된다. 상기의 샘플 수취통지는 샘플 패킷 소스(27)에 의해서 사용되어 새로운 샘플 패킷들의 발생을 제어한다. 또한 접수된 수취통지는 속도 테이블 (28)을 액세스하는데 사용되고, 상기의 액세스된 속도는 적응 승인 제어 (21) 내에서 사용되어 네트워크 내의 혼잡 추정 절대수준에 대응하여 비예약 데이터의 승인 속도를 적합하게 조정한다.
도면의 상세한 설명의 비교에 앞서, 본 발명의 주제를 형성하는 향상된 속도 기반 적응 혼잡제어를 위한 발견적 알고리즘(heuristic algorithm)의 주요 요소들을 개관하는 것이 유용할 것이다. 첫째로 언급할 것은 도 2의 종단 노드를중 어떤 하나에서 시작하는 트래픽은 적어도 두가지의 다른 형태의 신호들로 구성된다는 것이다. 앞에서 예약된 트래픽이라고 칭한 첫번재 형태의 신호는 도 2의 연결관리설비들 (44)에 의해 예약 패스(path)가 정해질 때에 결정되는 미리 정의된 대역폭, 지연 및 지터(jitter)를 갖고 있으며, 네트워크를 통한 예약 패스(path)를 가진다. 상기의 예약 트래픽은 네트워크 자원상들에서 첫 번째 호출(call)을 가지며, 전송을 위한 상기의 예약 트래픽이 존재하는 한 상기의 예약 트래픽은 네트워크의 용량이 허용하는 한 전송된다. 예약 트래픽의 전형적인 예들은 음성과 대화형 비디오이다.
예약 트래픽이 대체로 연속적이지 못하고 모든 예약 트래픽을 서비스한 후에도 때때로 상당한 네트워크 용량이 잔존하는 것은 잘 알려져 있다. 네트워크를 더 효율적으로 만드는데 있어서 문제점은 예약된 트래픽을 제때에 전달하는 것에 심각한 영향을 미침이 없이 잉여의 네트워크 용량을 활용하는 것이다. 네트워크의 잉여 전송 능력을 사용하기 위하여 덜 제약적인 전송 요건들을 갖는 비예약 트래픽을 네트워크에 삽입하는 것도 잘 알려져 있다. 그러한 비예약 트래픽은 파일전송 또는 데이터그램 서비스들을 포함할 수 있고, 버스트(burst)이고 지연에 관대하며, 명시적인 서비스품질의 보증을 요구하지도 않는 특징들을 갖는다. 여분의 대역폭의 최대량이 효율적으로 이용되고, 모든 사용자들 사이에서 공평하게 공유되며 최소 오버헤드(overhead)를 요구할 때, 때때로 "최선노력" 서비스("best efforts" services)라고 불리우는, 비예약 트래픽이 사용되어 네트워크의 효율을 최대로 증대시킨다. 본 발명의 상기의 향상된 속도기반 적응 혼잡 제어 시스템은 네트워크 자원들 내에서의 현재의 혼잡상태에 대응하여 네트워크에 제출된 비예약 트래픽을 조절하는 역할을 한다. 본 발명은 중간 노드들에서 특별한 처리를 요구하지 않는 엔드-투-엔드(end-to-end) 제어 구조이고, 네트워크에 관한 혼잡정보를 얻기 위하여 제어패킷 또는 셀(cell)들("샘플 셀")의 시퀀스(sequence)를 사용하는데, 혼잡정보는 최선노력인 비예약 트래픽이 네트워크로 진입하는 것을 허용하는 속도를 조정하는데 사용된다.
더 구체적으로는, 본 발명의 발견적 알고리즘은 다섯 개의 주요한 요소들을 포함하는 바, 이들은 함께 사용되어 도 1에 도시된 것과 같은 패킷 네트워크를 효율적으로 동작시킴에 있어 상당한 개선을 제공한다. 상기 알고리즘의 첫 번째 요소는 최선노력 비예약 데이터(best efforts unreserved data)가 발신 스테이션(station)으로부터 전송될 수 있는 최소 속도를 가능케하는 스페이서 함수(spacer function)이다. 상기의 스페이서 함수는 도 3의 승인제어회로 (21) 내에서 구현되고, 예를들어 간단한 타임아웃(time out) 함수를 포함할 수 있다. 상기 알고리즘의 두 번재 요소는 샘플링 전략(sampling strategy)인바, 상기 샘플링 전략에서는 샘플링 기간이 만료된 경우에만, 선행하는 샘플의 수취통지가 도달된 경우에만, 그리고 마지막 샘플이 전송된후 샘플링 버스트라고 불리우는 비예약 데이터의 최소량이 네트워트내로 전송된 경우에만 새로운 샘플이 전송될 수 있다. 상기의 전략은 전송속도가 낮거나 트래픽이 영('0')인 때에 샘플링을 최소화하거나 제거하는 것에 의해, 전송 속도 변경이 가능한 경우,(즉, 수취통지의 접수후)에만 샘플링을 요구하는 것에 의해, 그리고 마지막으로, 스페이서 함수(spacer function)에 의해 샘플링 비율을 제한하는 고속과 짧은 라운드 트립 지연하에서 효율적인 샘플 전송을 보장한다.
본 발명의 발견적 알고리즘의 세 번째 요소는 네트워크내의 혼잡도를 나타내는 샘플 셀들의 지연을 추정하는 방법이다. 상기의 지연은 두 개의 바로 앞선 샘플링 셀들의 도착시간 간격과 두 개의 바로 앞선 샘플링 셀들의 출발시간 간격들의 차이보다 조금 적은 바로 앞선 지연으로 추정된다.
Qn= Qn-1+Mr-MS
MS는 송신자측에서의 두 개의 연속적인 샘플링 셀들의 출발시간간격,
Mr은 수신자측에서의 두 개의 연속적인 샘플링 셀들의 도착시간간격,
Qn-1은 선행하는 새플링 셀의 대기지연의 추정치,
Qn은 현재의 샘플링 셀의 대기지연의 추정치,
첫 번째 샘플링 셀이 전송될 때 네트워크 지연은 영('0')이라고 가정한다. 두 번째 샘플링 셀이 도착할 때 네트워크 지연값(Q₂)는 두 개의 샘플링 셀들의 네트워크 지연사이의 차이이다. 상기의 값은 양수(지연값 증가) 또는 음수(지연값 감소)일 수 있다. 상기의 차이가 음수이면, Q₂의 값은 영('0')으로 셋팅(setting)된다. 따라서 네트워크 지연의 추정값에 있어서의 에러(error)는 최소 선행 추정값에 의해서 한정되고, 더 많은 샘플링 셀들에 의해서만 감소되어 질 수 있다. 즉, 연결이 계속중인 동안 샘플링 셀이 연속적으로 전송되므로 인하여, 단 하나의 샘플링 셀이 어떠한 대기지연도 없이 네트워크를 통하여 돌아다닐 경우에 샘플링 셀들에 대한 절대적인 지연이 발견될 수 있다. 상기 연결에 있어서 전체적인 네트워크 지연은 패스(path)내의 모든 링크들에서의 전송지연, 전파지연, 처리지연, 노드들을 통하여 흐르는 트래픽을 수용하기 위한 패스 내의 노드들에서 대기지연이 없다고 가정한다면, 수신 스테이션(receiving station)에서 측정된 최소지연이 합산된 총 지연이다. 혼잡도의 척도는 오로지 대기지연뿐이다. 네트워크로 하여금 과도한 적응 변화전에 비혼잡 상태에 도달하게 하여, 대기지연에 매우 근사한 값을 가지도록 하기 위하여는 송신 샘플링 셀들의 초기속도를 상대적으로 낮게 셋팅(setting)하는 것이 중요하다.
대기지연 추정값의 급속한 수렴을 도시하기 위하여 도 4는 특정한 연결상에서 처음 세 개의 연속적인 샘플링 셀들의 전송을 도시하고 있다. 도 4에서 볼 수 있는 바와 같이 네트워크 지연 (52,53 및 54)들은 단조감소하는 것으로 가정한다. 각각의 연속적인 샘플링 셀에서의 오차(ER)는 감소되었고, 발생할 수 있는 어떠한 미래 샘플링 셀 지연에서도 그 값이 커지지 않는다는 점에 유의하여야 한다. 즉, 연결중의 어떤 시간에서도 대기지연 자체가 영('0')에 가까워지면 대기지연 추정오차는 영('0')에 가까워진다.
본 발명의 발견적 알고리즘의 네 번째 요소는 추정된 지연을 다음의 4개의 혼잡도 카테고리(이하 '혼잡상태(CS)' 한다)로 분류하는 것이다.
1) 네트워크 프리(Network Free)
지연이 사실상 감지되지 않고 있다. 모든 비예약 연결의 전송속도를 증가시키는 것이 허용된다. 이러한 혼잡상태는 "1"로 코딩(coding)된다. (즉, CS=01)
2) 소망된 네트워크 상태(Desired Network Condition)
소망된 네트워크 사용수준이 성취되고 있다. 모든 연결들은 현재 속도를 유지해야 한다. 이러한 혼잡상태는 '00'으로 코딩된다.
3) 경미한 혼잡(Slight Congestion)
네트워크내에서 적은 양의 혼잡이 감지되고 있다. 모든 연결들은 현재 전송속도로부터 조금 감소된 값을 가져야 한다. 이러한 혼잡상태는 '10'으로 코딩된다.
4) 심각한 혼잡(Serious Congestion)
네트워크내에서 심각한 혼잡상태가 감지되고 있다. 모든 연결들은 현재 전송 속도로부터 크게 감소된 값을 가져야 한다. 이러한 혼잡상태는 '11'로 코딩된다.
이와 같이 서로 다른 혼잡상태들은 수신국에서 오는 샘플 패킷 수취통지 신호내에 코딩되어, 발신국에서 속도변화기를 적절히 제어하는데 이용된다.
본 발명의 발견적 혼잡제어 알고리즘의 마지막 다섯 번째 요소는 특정수준의 혼잡이 감지될 때 비예약 전송속도를 조정하는데 사용되는 전략이다. 효율성(efficiency), 안정성(stability) 및 공정성(fairness)을 보장하기 위하여, 허용된 속도가 낮을때에는 허용된 속도내에서 큰 변화가 용인되고 (효율성을 증대시키기 위함), 허용된 속도가 이미 높을때는 허용된 속도내에서 작은 변화만이 용인된다 (안정성을 증대시키기 위함). 속도변화와 혼잡(지연) 변화들 사이의 대수적인 관계는 본 발명의 발견적 알고리즘에서 사용된다. 공정성과 효율성을 보장하기 위하여 발견적 알고리즘은 다음과 같은 추가적 단계들을 가진다.
1) 다음과 같은 로그 함수에 기초하여 허용된 속도를 변경한다.
Figure kpo00002
Figure kpo00003
Figure kpo00004
Figure kpo00005
도 1의 네트워크를 사용하는 비예약 소스 각각에 대하여 하나의 상기 테이블이 요구된다. 상기의 테이블들은 도 2의 네트워크 승인처리기 (43)과 도 3의 속도 테이블 (28) 내에 포함되며, 도 6과 연결하여 더욱 상세히 논의될 것이다. 도 5에서 볼 수 있는 바와 같이 테이블 인덱스의 각 값은 중간값 (61)을 통하여 상위 한계값 (60)으로 가는 하위 한계값 (62)에 의해 도시된 속도값들의 수를 액세스하는데 사용될 수 있다. 단순하게 하기 위하여 높은 인덱스 값에서 매우 늦게 변화하는 속도값들은 도 5 내의 곡선 (60, 61 및 62)의 오른쪽 끝점에서 가로직선으로 근사된다. 곡선 (60~62)사이의 차이들은 속도 값들의 다른 범위들을 제공하는 다른 상수승수(수학색 5에서는 C로 표시됨)에 대응한다. 이러한 변화 가능성(variability)은 네트워크상의 다양한 부하를 수용하기 위하여 테이블 값들을 곱하거나 나누는 것을 허용한다.
도 5에 도시된 속도값이 테이블 찾기에 의해 구현된다면, 각 테이블 엔트리 R(i)는 수학식 2에 의해 주어지고, R(i)는 X(t)인 표준 S-엔트리 테이블 R과 C는 곡선 (60, 61 및 62)와 같은 것을 생성하는 다양한 정수값으로 가정된다. 속도 R(i)의 상기값은 대부분 혼잡링크상에서 계획된 균등한 공유속도(even share rate)에 같게 초기에 선택되는데, 수학식 4를 이용하고 S의 값은 곡선(60, 61 및 62)에 대응하는 곡선들중 하나 희망수준을 만족하도록 선택되어진다. 변수(variable)인 STATE가 테이블 R내의 현재 허용된 속도를 가리키고 있는 속도 테이블 인덱스라고 한다면, 상기에서 기술된 속도 변경 정책은 아래와 같이 구현될 수 있다.
STATE는 초기에 1로 세트(set)되고, 속도 테이블 R 내의 첫 번째 값을 가리킨다. 증가된 수취통지는 새로운 값에 위치하게 하는(즉, 테이블내의 고속)것에 의해 STATE를 증가시킨다. STATE는 어떤 요인에 의해 감소되어서 STATE가 낮은 값을 가져서 새로운 위치(테이블내의 저속)에 있게 된다. 두 종류의 감소가 있으므로, 약간의 혼잡에는 작은 감소가 일어나고, 심각한 혼잡에는 큰 감소가 일어난다.
즉, 1. STATE = DE1 × STATE, 작은 감소(CS=10)가 도달되었을 때,
2. STATE = DE2 × STATE, 큰 감소(CS=11)이 도달되었을 때
여기서, DE1과 DE2는 1보다 작고 0보다 큰 상수들이고, DE2는 DE1보다 작다. DE1과 DE2 값들은 발견적으로 정해지는데, 각기 0.9 및 0.5 값이 사용가능한 것으로 발견되었다.
속도변경 정책의 두 번째 단계는, 변수 STATE가 미리 정의된 댐핑영역(damping region)내에서 진동하는 경우에 이용가능한 대역폭의 공정한 공유가 도달된다는 가정을 포함한다. 상기의 댐핑영역(도 5에 도시되어 있음)은 (L, L+DR)로 초기화되는데, 여기서 L은 하위한계(예를들어 곡선 (62)이고 DR은 댐핑영역의 크기(예를들어 곡선 (60과 62)사이의 영역)이며, L과 DR은 실제적인 안정성 값들을 관찰하여 발견적으로 결정된다. 도 5에서는 DR을 10으로 가정하였다. 상기에서 언급하였듯이 곡선 (60, 61 및 62)들은 다양한 속도 값들을 얻기 위하여 수학식 5의 상수값 C를 변경하는 것에 의하여 얻어진다. 중간 곡선 (61)은 초기 속도 테이블 값을 나타낸다. 곡선 (62)는 속도가 다섯단계 하강한 후의 속도 테이블 값을 나타낸다. 예시의 목적으로, 이러한 값들은 곡선 (60과 62)사이의 초기 댐핑영역을 나타낸다. STATE가 댐핑영역내에 있다면, 테이블 R은 현재의 네트워크 상태에 대해서는 적당한 것으로 생각된다.
만약 STATE가 연속적으로 증가된 수취통지로 인하여 댐핑영역 밖으로 뻗어나간다면, 속도변경정책의 세 번째 단계가 적용된다. 이 경우에는 전체 테이블이 각각의 값들에 한단계 만큼 댐핑영역을 위로 이동시키는(즉, L=L+1) 것으로 정의된 팩터(factor)를 곱하므로써 증가된다. 이러한 상황이 발생되면, 변수 STATE의 값은 초기 인덱스 값으로 리셋(reset)된다. 반대로, STATE가 결코 값 L에 도달하지 않으면 테이블 R은 너무 높은 것으로 간주되며 전체 테이블 R은 한단계 만큼 댐핑영역을 아래로 이동시키는(즉, L=L-1) 것으로 정의된 팩터(factor)로 테이블 내의 각각의 값들을 곱하는 것에 의하여 감소된다. 상기의 변수 STATE의 값은 그때에 초기 인덱스 값으로 리셋(reset) 된다. 상기의 테이블 R을 곱하는 것에 의한 변경은 속도의 대수적인 특징을 유지한다. 다른 최선노력 연결사이의 공정성은 다른 시작시간들 때문에(이런 상황도 일어날 가능성이 있음) 다른 속도 테이블을 사용하는 것일 수 있으므로 지켜지지 않을 수 있다. 댐핑영역의 선형이동과 STATE의 값들을 리셋팅(resetting)하면 높은 값 테이블들을 사용하는 것들에 대비하여 낮은 값을 사용하는 연결에 우선순위를 배당하는 경향으로 인하여 공정성 차이(fairness divergence)를 최소화 시켜준다. 상기의 전체적인 속도 변경 정책은 부록의 의사코드(pseudo-code)내에 요약되어 있다.
초기 전송속도를 영('0')에서 시작하면 적당한 속도에 도달하는데 긴 구동시간이 요구되지만, 그렇게하기 보다는, 각각의 새로운 최선노력 연결이 기본적인 공정성 판단기준을 만족하는 값으로 초기 속도를 세트(set)하도록 시작할 때에는 수학식 4가 사용된다. 댐핑영역이 이동할 때 모든 연결에 대한 속도들도 또한 리셋(reset)될 수 있다. 그러나, 어떤 트래픽 소스(예를들어, 파일서버 또는 라우터)가 불가피하게(inherently) 따른 트래픽 소스들 보다 더 많은 대역폭을 사용하므로, 수학식4에 정의된 면에서 본 액세스의 공정성(fairness of access)이, 총 네트워크 처리량(throughput)을 반드시 최대화 하지는 않는다. 따라서, 트래픽 소스들의 평균 대역폭 요구들을 반영하여 다양한 트래픽소스들(source)에게 대역폭을 가중치 방법으로 할당하는 것이 바람직하다. 이와 같은 방법을 종종 비례적 공정성(proportional fairness)이라 부른다.
최선노력 연결들에게 이용가능한 대역폭을 균등하지 않게(unequal) 할당하는 것을 허용하기 위해서 각각의 최선노력 트래픽 소스에게는 최선노력 트래픽의 필요에 비례하는 초기속도가 할당된다. 상기의 비례적 공정성 정책을 위한 공정성 함수는 수학식 6으로 정의될 수 있다.
Figure kpo00006
여기서 MCRj는 네트워크에 의해서 최선노력 연결 j에게 보증된 최소 셀 속도이다.
도 6에는, 필수적인 4개의 칼럼(column)으로 구성된 전형적인 속도 테이블이 도시되어 있다. 첫 번째 칼럼은 STATE 또는 인덱스 값(STATE or index value)인데, 그것은 실제적으로는 테이블내에 있지 않으나 테이블의 동작을 이해하는데 도움을 주기 위하여 표시한 것이다. 두 번째 칼럼은 전송속도이다. 도 6의 테이블내의 연속적인 전송속도들은 도 5에 도시된 바와 같이 각각 대수적인 관련성을 갖는다. 도 5의 속도 테이블의 세 번째 칼럼은 경미한 혼잡상태로 가는 다음 STATE 또는 인덱스 값이고, 네 번째 칼럼은 심각한 혼잡상태(congestion condition)로 가는 다음 STATE 또는 인덱스 값이다. 즉, 경미한 혼잡상태에서 사용되는 다음 속도들은 심각한 혼잡상태에서 사용되는 다음 속도들과는 다르다(또는 보다 작다). 이러한 사실은 심각한 혼잡상태에서는 경미한 혼잡상태보다도 더 빠르게 속도를 낮추는 것을 허용한다. 이것은 위에서 설명한 바와 같이 비예약 데이터 전송 속도내에서 안정성을 보장하기 위함이다. 이러한 과정은 도 7 내지 도 9의 도면의 설명과 관련하여 보면 더 잘 이해될 수 있다.
도 7에서는 비예약최선노력 연결이 네트워크 혼잡을 측정하는데 필요한 새로운 샘플패킷이 개시되게 하기 위한 소스노드내에서 일어나는 절차의 플로챠트가 도시되어 있다. 시작 박스(start box) (50)에서 시작되어 (51)로 진입하는데 거기에서는 연결변수들이 초기화 된다. 이들 변수는 다음을 포함한다.
(1) 라운드 트립시간(Round Trip Time : RTT) 추정값은 패킷을 소스로부터 목적지로 전송하고 다시 목적지에서 소스로 전송하는데 요구되는 라운트 트립시간의 초기값이다. RTT 값은 도 2의 토폴로지 데이터베이스 (45)내에 저장된 네트워크 데이터로부터 추정된다. 이 값은 중지와 타임아웃 타이머들을 위한 최대값을 셋팅(setting)하는데 사용되는데 이하에서 기술하겠다.
(2) 가장 늦은 링크 용량(Slowest Link Capacity : SLC)은 도 2의 토폴로지 데이터베이스 (45)로부터 얻어진다. 상기 SLC는 D1, D2 및 D3를 계산하는데 사용된다. 예를 들어 D1은 가장 늦은 링크 용량을 갖는 링크상에서의 하나의 셀 지속시간을 세트(set)하거나, D2는 대략 10개의 셀 지속시간을 세트(set)하고, D3은 대략 200개의 셀 지속시간을 세트할 수 있다.
(3) D1은 속도증가를 위한 최대지연시간이다. 추정된 지연시간이 최대지연시간보다 낮다면, 상기의 지연값에 도달할때까지 속도가 증가한다.
(4) D2는 네트워크의 경미한 혼잡을 표시하는 지연시간의 임계치이다. 추정된 지연시간이 D2를 초과하게 되면, 경미한 혼잡을 해소시키기 위하여 속도가 약간 감소된다. 추정된 지연값이 D1과 D2사이에 있다면, 이것은 네트워크의 바람직한 동작을 나타내는 지연시간의 범위에 있으므로 속도변화가 일어나지 않는다.
(5) D3는 네트워크의 심각한 혼잡을 표시하는 지연시간의 임계치이다. 추정된 지연시간이 D3를 초과하게 된다면, 심각한 혼잡을 빨리 해소시키기 위하여 속도가 크게 감소된다.
상기의 모든 값들은 도 7과 도 8의 절차에서 사용가능하도록 되어 있다. 게다가 박스 (51)내에서 L값은 S로 세트(set) 된다 (즉, 댐핑영역의 도 5의 하위경계점 (62)는 현재 속도상태 또는 인덱스로 세트된다). 샘플링 셀들의 수인 UD값은 STATE 값이 L 이하인 한 전송된다(즉, 댐핑영역 내에서의 L값이 증가한다). UD가 도 5의 댐핑영역의 상위한계인 UD_TH를 초과할 때, 테이블 속도는 미리 정의된 팩터(factor)에의해서 상방향으로 조정된다. 박스 (51)을 초기화하면 UD값은 영('0')으로 세트되고, UD_TH의 값은 L값의 두배로 세트된다. 즉, 댐핑영역 아래의 샘플링 셀들의 수는 영('0')으로 세트되고 댐핑영역의 크기는 도 5에 도시된 값으로 초기화 된다.
박스 (51) 내에서 초기화가 끝나면 다음번 샘플셀이 생성되는 박스 (52)로 진입한다. 상기의 샘플링 셀은 현재시간을 표시하는 시간이 기록된 필드를 포함한다. 그런후에 박스 (52)에서 생성된 샘플 셀이 도 1의 네트워크상에 개시되는 박스 (53)으로 진입한다. 필요하다면, 동시에 두 개의 타이머들이 리셋(reset)된다. 타임-아웃타이머 라고 불리는 (T_OUT=0) 하나의 타이머는 마직막 샘플 셀 수취 승인 통지후의 시간을 측정한다. 타임-아웃 타이머가 미리 정의된 최대값에 도달할 때 (즉, 해당 연결에서의 계산된 라우트 트립시간의 2배)에는 그순간 연결이 해제되었다고 가정한다. 도 7의 플로우챠트가 초기상태로 리셋하고 새로운 샘플 셀이 전송되는 것에 의해 상기의 해제된 연결은 다시 연결될 수 있다. 중지 타이머 (T_SUSPEND=0)라고 불리는 두 번째 타이머는 연결되어 있는 비예약 트래픽의 전송을 중지시는데 사용된다. 중지 타이머는 상기의 타임-아웃 타이머보다 훨씬 작은 값을 가지도록 세트(set)되고 지연수준을 나타내는데, 이러한 지연수준에서는 상기의 지연이 연결상의 상당한 혼잡에 기인된 다고 가정된다. 상기의 가정된 혼잡을 해소하기 위하여 박스 (55)로부터 발생하는 비예약 데이터 트래픽은 중지되어 혼잡을 감소시키게 된다. 상기의 중지시간 기간은 물론 실제로 타임-아웃 기간보다 짧다. 새로운 샘플셀이 전송될 때 중지 타이머와 타임-아웃 타이머는 박스 53에서 영('0')으로 리셋된다.
그런 후에 COUNT값이 영('0')으로 세트되는 박스 (54)로 들어간다. COUNT 값은 가장 최근의 샘플링 셀이후에 전송된 비예약 데이터 셀들의 수이다. 그런후에 박스 (51) 내에서 초기화된 STATE에 의해 인덱스된 속도 테이블에 의해 특정된 속도로 비예약 데이터 셀들이 연결상에서 전송되는 박스 (55)로 들어간다. 그런후에 박스 (55) 내에서 전송된 데이터 셀들의 수에 의해 COUNT값이 증가되는 박스 (56)으로 들어간다. 그런후에 다음번 샘플링 셀들이 전송될 수 있기전에 전송되어야 하는 데이터 셀들의 최소수인 샘플링 버스트(Sampling Burst : SB)라고 불리우는 미리 정의된 값을 초과하는 박스 (55) 내에서의 전송된 데이터 셀들의 수를 결정하기 위하여 결정박스 (57)로 들어간다. 상기에서 언급되었듯이 상기의 샘플링 버스트 요구조건은 연결이 아이들(idle)이거나 데이터 속도가 매우 낮을때에는 샘플링 셀들의 전송을 하지 않는 것에 의하여 본 발명의 적응 속도기반 알고리즘을 더 효율적이게 한다.
결정 박스 (57)에 의해 결정되듯이 데이터 셀들의 개수(count of data cell ; "COUNT")가 최소 샘플링 버스트 SB보다 크지 않으면, 연결상에 데이터 셀들을 전송하는 것을 계속하기 위하여 박스 (55)로 재진입한다. 결정박스 (57)에 의해 결정되듯이, 데이터 셀들의 개수가 최소 샘플링 버스트 SB를 초과하면 박스 (52)내에서 전송한 샘플 셀에 대한 수취통지가 상기의 셈플 셀의 발신 소스로 되돌아 왔는지를 결정하기 위하여 결정박스 (58)로 진입한다. 수취통지가 아직 도달되었으면, 도 8에 도시한 STATE 처리 플로우챠트로 진입한다. 수취통지가 아직 도달되지 않았으면, 중지 타이머가 만료되었는지를 결정하기 위하여 결정박스 (59)로 진입한다. 중지 타이머가 만료되었다면 박스 (55) 내의 데이터 전송이 중지되고, 타임-아웃 타이머가 만료되었는지를 결정하기 위하여 결정박스 (60)으로 진입한다. 결정박스 (59와60)에 의하여 결정되듯이, 중지타이머와 타임-아웃 타이머 둘다가 만료되었다면, 모든 타이머들을 리셋시키고, 데이터 버스트 카운트를 리셋시키고 데이터 속도 박스 (51) 내에서 초기화되는 모든 다른 변수들을 박스 (52)로 재진입시킴으로서 다시 초기화한다. 결정박스 (59와 60)에 의해 결정되듯이, 중지타이머와 결정타이머 중 하나라도 만료되지 않았다면, 먼저 전송된 샘플셀의 수취통지의 수령을 기다리기 위하여 결정박스 (58)로 재진입한다. 도 7의 플로우챠트와 부합하여, 최소 비예약 데이터 버스트의 전송과 수취통지의 수령 또는 타임아웃 기간이 만료된 후에 다음번 샘플셀이 전송되어야 한다는 것을 유의하여야 한다. 상기에서 언급된, 샘플링 셀들의 개수를 최소화 하는 것에 의해 네트워크 설비를 효율적으로 사용하는 것은 도 7의 플로우 챠트에 의하여 구현된다. 결정박스 (58)에 의해 결정되듯이, 선행하는 샘플 셀의 수취통지의 수령은 도 3의 박스 (26)의 상기 수취통지의 처리를 요한다. 상기의 처리는 도8의 플로우챠트 내에서 일어난다.
도 8에서는, 모니터되어서 적응적으로 제어되는 비예약 트래픽의 소스에서 발생되는 수취통지 처리의 플로우챠트가 도시되어 있다. 도 8의 좌상단에서부터 시작하면, 상기의 플로우챠트는 수취통지내의 필드에 코딩된 4개의 혼잡상태에 대응하고 도 9와 관련하여 논의될 (70, 71, 72 및 73)의 네가지로 나누어져 있다.
상기 4개의 혼합상태들은 코드 "0"(바람직한 범위 내에 있어서 수용가능한 혼잡), "1"(목표수준보다 낮은 혼잡), "10"(경미한 혼잡) 및 "11"(심각한 혼잡)에 해당된다. 가지 (71)에서는, 도 6의 테이블내의 다음값으로 데이터 전송속도를 증가시키기 위하여 STATE값이 1만큼 증가된다. 가지 (72)에서는 (CS = 10), STATE의 현재값과 STATE(S)의 최대허용 가능한 값 중 최소값을 상수 DE1(앞에서 기재한 바와 같이 0.9 정도의 작은 감소 팩터)로 곱하는 값으로 속도 상태가 세트된다. 이것은 STATE의 값이 현재의 STATE에서 작은 감소 팩터 DE1 만큼 감소되는 결과를 가져온다. 가지 (73)(CS = 11)에서는 STATE의 현재값과 STATE(S)의 최대 허용가능한 값 중 최소값을 상수 DE2 (상기에서는 0.4와 같은 큰 감소 팩터로 표시됨)로 곱하는 값과 같게 속도 상태가 세트된다. 이것은 STATE의 값이 현재의 STATE에서 큰 감소팩터 DE2 만큼 감소되는 결과를 가져온다. 가지들(branches)(70, 71, 72, 73) 모두가 박스 (74)로 진입하는데, 박스 (74)에서 STATE의 값은 가지 (70~73)에서 계산된 값 또는 "1"로 세트된다. 여기서 STATE 값은 원래 값보다 항상 더 크게 된다. 즉, STATE 값의 감소는 "1"보다 더 작아지는 것이 허용되지 않는다.
상기에서 언급하였듯이 STATE 의 새로운 값이 계산된 후에, 계산된 새로운 STATE 값이 해당되는 값들의 범위를 결정하기 위해 결정 박스 (75)로 진입한다. 도 5에 잘 도시되어 있듯이, 속도 R(i)의 가능한 범위값들은 곡선 (60과 62) 사이의 댐핑영역, 곡선 (60) 위의 하향 이동 영역, 곡선 (62) 아래의 상향 이동 영역으로 분할된다. 상향이동 영역은 STATE 값이 L보다 작은 곳은 결정박스 (75)내에서 감지된다. 그런후에, 카운트 UD가 1만큼 증가하게 되는 박스 (76)으로 진입한다. 다시언급하면 UD는 STATE 값이 L 이하 이후에 전송된 데이터 셀들의 개수 카운터이다. 그런후에 UD값이 UD_TH값을 초과하는지를 결정하기위하여 결정박스 (77)로 진입한다. UD값이 UD_TH값을 초과하게 될 때 UD_TH는 STATE의 최근값들을 포함할수 있도록 하기위하여 목표된 댐핑 영역이 작아지도록 하는 임계치이다. 박스 (78) 내에서는, 도 6의 속도 테이블의 두 번째 칼럼내의 속도값 각각을 고정된 값("ADJ") 에 의해 나누는 것에 의해 크기조정을 다시 하는 작업이 수행 된다. 이러한 속도 감소는 새로 계산된 STATE 값들을 포함 할 수 있도록 모든 속도값들을 하향 시킨다. 박스 (79)에서는 댐핑영역(도 5)의 새로운 낮은 값을 적절히 표시하기 위하여 L 값이 1 만큼 감소된다. 그런후에 상기 과정은 새로운 샘플셀의 전송을 개시하고 앞으로 있을 데이터 전송을 위해 새로운 속도값을 사용하기 위하여 도 7로 되돌아 간다.
결정 박스 (75)로 되돌아 가보면, STATE 의 값이 L 과 같으면(즉, STATE 값이 댐핑영역의 하위 경계와 같음) UD 값이 댐핑영역 아래의 샘플링 셀들의 수가 리셋 되어야 하는 것을 나타내는 영('0) 으로 리셋되는 박스 (81)로 진입한다. STATE 값이 L 과 DR을 합한 값보다 크면 (즉, STATE 값이 댐핑영역의 상위일 때) 데이터 속도값들을 상향으로 크기조정을 다시하여 STATE 의 새로운 값을 수용하기 위하여 박스 (82)로 진입한다. 크기조정을 다시하는 작업은 박스 (78)에서 사용된 것과 동일한 팩터 ADJ 에 의해 수행되지만, 도 6내의 테이블의 두 번째 칼럼내의 데이터 속도값을 증가 시키기 위하여 나눗셈을 사용하는 대신 곱셈을 사용 하였다. 박스 (82) 내에서 데이터 속도를 다시 조정한 후에 박스 (83)으로 진입하는데, 그곳에서 STATE 값이 최대치 S로 세트되고, L 값은 1만큼 증가한다. 그런 후에 상기 과정은 새로운 샘플 셀을 전송하고 새로운 속도를 사용하기 위하여 도 7로 되돌아간다.
도 9는 도 3의 박스 (24)와 (25)내의 원격 목적지 노드에서 수행되는 처리의 플로우 챠트이다. 시작박스 (90)에서 시작하여, 박스 (91)로 진입하는데, 그곳에서 원격 목적지노드의 변수들이 초기화 된다. 예를들어, Q1 및 Q2 값들은 (Q1 은 이전의 네트워크 지연이고, Q2 는 현재의 네트워크 지연이다) 그 노드에 위치한 도 2의 토폴로지 데이터 베이트 (45) 내의 데이터로부터 계산된 라운드 트립 시간 값으로 초기화 된다. 샘플 셀 전송 시간과 수령시간 둘다 영('0') 으로 초기화 된다. 그런후에 다음 셈플 셀의 도달을 기다리기 위하여 박스 (92)로 진입한다. 어떠한 연결들에서도 첫 번째 샘플 셀은 도 9의 원격 단말에서 사용되는 D1, D2 및 D3 값(이들은 도 7의 박스 (51) 내에서 계산됨) 들을 포함한다. 샘플셀이 도달 할 때, 수학식 1을 사용하여 지연이 추정되는 곳인 박스 (93)으로 진입한다. 추정된 지연값이 박스 (93)으로부터 사용 가능하게 되면, 상기 추정값은 상기에서 설명한 네트워크의 혼잡상태를 결정하기 위하여 연속적으로 결정박스 (94, 95, 96 및 97)에 적용된다. 예를들어, 결정박스 (94)는 지연추정값 Q2 가 D1 과 같거나 작은지를 결정한다. 만약 그렇다면, 혼잡상태는 네트워크 내의 혼잡은 바람직한 수준보다 작아서, 비예약데이타 속도가 증가되어야 함을 표시하는 "1"이다. 상기의 혼잡상태 코드를 포함하는 수취승인 셀이 도 9의 블록 (98)로부터 전송된다.
이와는 달리 결정박스 (95)는 추정된 지연값이 네트워크 지연이 목표하는 범위에 있음을 나타내는 D1 과 D2 사이에 있는지를 결정한다. 혼잡상태 코드 "0"이 박스 (98) 내에서 생성된 수취통지 셀 내에 엔코드(encode)된다. 결정박스 (96)에서 결정 되듯이, 추정된 지연값이 네트워크내에 경미한 혼잡이 일어나고 있음을 나타내는 D2 와 D3 사이에 있을 때 혼잡상태 코드 "10" 이 박스 (98)내에서 생성된 수취통지 셀내에 엔코드(encode)된다. 마지막으로, 결정박스 (97)에서 결정 되듯이, 추정된 지연값이 네트워크내에 심각한 혼잡이 일어나고 있음을 나타내는 D3 보다 크면 혼잡코드 "11" 이 박스 (98) 내에서 생성된 수취통지 셀내에 엔코드(encode)된다. 도 8과 관련하여 설명 하였듯이, 상기의 이러한 혼잡상태들은 서스 노드에서 STATE 변수를 처리하는데 사용된다. 수취승인 셀이 박스 (98) 내에서 전송되면 다음 샘플 셀을 기다리기 위하여 박스 (92)로 재진입한다.
도 9의 플로우 챠트는 연결의 목적지 노드에서 필요한 본 발명의 알고리즘의 일부분을 구현하고 있음을 알 수 있다. 도 7, 8 및 9의 처리들은 도 1의 네트워크를 통하는 각각의 비예약연결에 대하여 구현되어야 함이 명백하다. 물론 도 6~9의 처리들은 적당한 특수목적 회로들을 설계함 으로써 구현 될 수도 있다. 그러나, 바람직한 실시예에서는 도 3~5 의 처리들은 패킷 또는 셀 전송 네트워크 내에서 사용 스테이션을 제어 하는데 전형적으로 사용되는 타입(type)의 일반목적 컴퓨터를 프로그래밍(programming)하므로써 구현된다. 상기의 프로그래밍은 네트워크 노드 제어 분야의 당업자에게는 자명하며 부록에 의사코드로 완전히 개시되어 있다.

Claims (26)

  1. ⓐ 전송 링크들에 의해 상호연결된 복수개의 전송 노드들 ; ⓑ 미리 정의된 수준의 서비스 품질을 갖는 예약 데이터 패스(reserved data path)를 요구하는 데이터 스트림들과 최선노력 전송 패스(best efforts transmission path)를 요구하는 데이터 스트림들을 포함하는 데이터 스트림을 상기 네트워크 상에서 전송하기 위한 복수개의 사용자 어플리케이션 ; ⓒ 상기 사용자 어플리케이션들의 쌍들 사이에 있는 상기 네트워크를 통과하는 보증된 미리정의된 수준의 품질을 가지는 예약 데이타 패스들을 선택하는 수단 ; ⓓ 상기 예약 데이타 패스들이 부분적으로 아이들(idle)인 동안에 상기 최선노력 전송 패스들 상에 최선노력 데이터를 전송하기 위한 수단 ; ⓔ 상기 예약 데이타 패스들 상의 데이터에 대한 간섭을 방지하기 위하여 상기 최선노력 데이터가 상기 네트워크에 액세스 하는 것을 제어하는 수단을 포함하고, 상기 최선노력 데이터의 액세스를 제어하는 수단은 ⅰ) 상기 네트워크내의 혼잡 수준을 감지하는 수단 ; ⅱ) 상기 혼잡 수준에 대응하여 최선노력 데이터의 속도를 제어하기 위한 테이블 구동수단 ; 및 ⅲ) 상기 최선노력 데이터의 과도한 속도 변화에 대응하여 상기 테이블 구동 수단내의 값들을 배수적으로 변경시키는 수단을 포함하는 패킷 전송 네트워크.
  2. 제1항에 있어서, 상기 네트워크내의 혼잡 수준을 감지하는 수단이 상기 네트워크내의 대기지연(queuing delay)의 절대값을 추정하기 위한 수단을 포함하는 패킷 전송 네트워크.
  3. 제1항에 있어서, 상기 최선노력 데이터의 연속적인 셀들 사이에 스페이서(spacer)를 삽입하기 위한 수단을 더 포함하는 패킷 전송 네트워크.
  4. 제3항에 있어서, 상기 스페이서(spacer) 길이가 상기 최선노력 트래픽의 타임-아웃 함수, 수취승인(acknowledgment), 또는 최소 버스트(burst)의 전송 중 최초로 발생하는 것에 대응하는 패킷 전송 네트워크.
  5. 제1항에 있어서, 상기 네트워크내의 혼잡 수준을 감지하는 수단이 개시되는 시간(time of launch)을 포함하는 타임 스탬프(time stamp)를 각각 갖는 일련의 테스트 샘플들을 상기 네트워크를 통하여 전송하기 위한 수단 ; 상기 네트워크를 통한 총 지연을 결정하기 위하여 연속적인 테스트 샘플들을 비교하기 위한 수단 ; 및 연결이 지속되는 동안 상기의 네트워크를 통하는 총 지연의 최소값을 결정하기 위한 수단을 포함하는 패킷 전송 네트워크.
  6. 제1항에 있어서, 상기 최선노력 데이터의 속도가 낮은 값(lower value)일 때 상기 속도를 작은 최초값(first smaller value)만큼 감소시키는 수단 ; 및 상기 최선노력 데이터의 속도가 상기 낮은 값보다 높은 값(higher value)일 때 상기 속도를 상기 최초값보다 더 큰 두 번째 값(second value)만큼 감소시키는 수단을 더 포함하는 패킷 전송 네트워크.
  7. 제1항에 있어서, 상기 네트워크 내에서 상기 최선노력 데이터의 속도를 현재 사용가능한 대역폭의 공정 공유 값(fair share value)으로 초기화하는 수단을 더 포함하는 패킷 전송 네트워크.
  8. ⓐ 전송 링크들에 의해 복수개의 전송 노드들을 상호 연결하는 단계 ; ⓑ 네트워크 상에서 복수개의 사용자 어플리케이션으로부터의 데이터 스트림─ 상기 데이터 스트림들은 보증(guaranteed)된 수준의 전송 품질을 요구하는 예약 패스 데이터 스트림들과 가능한 최선노력(best efforts) 수준의 전송 품질만을 요구하는 최선노력 데이터 스트림들을 포함함 ─ 을 전송하는 단계 ; ⓒ 상기 네트워크를 통하는 사용자 어플리케이션의 쌍들 중 상기 보증된 수준의 서비스 품질을 요구하는 예약 데이터 패스들을 선택하는 단계 ; ⓓ 상기 예약 데이타 패스들이 부분적으로 아이들(idle)인 동안에 상기 최선노력 전송 패스들 상에 최선노력 데이터를 전송하는 단계 ; 및 ⓔ 상기 예약 데이타 패스들 상의 데이터에 대한 간섭을 방지하기 위하여 상기 최선노력 데이터가 상기 네트워크에 액세스 하는 것을 제어하는 단계를 포함하고, 상기 최선노력 데이터의 액세스를 제어하는 단계는 ⅰ) 상기 네트워크내의 혼잡 수준을 감지하는 단계 ; ⅱ 상기 혼잡 수준에 대응하여 룩업(look-up) 테이블 수단에 의해 상기 최선노력 데이터의 속도를 제어하는 단계 ; 및 ⅲ) 상기 최선노력 데이터의 과도한 속도 변화에 대응하여 상기 테이블 구동 수단내의 값들을 배수적으로 변경시키는 단계를 포함하는 패킷 전송 네트워크상에 최대 데이터를 전송시키기 위한 방법.
  9. 제8항에 있어서, 상기 네트워크내의 혼잡 수준을 감지하는 단계가 상기 네트워크내의 대기지연의 절대값을 추정하는 단계를 포함하는 방법.
  10. 제8항에 있어서, 상기 최선노력 데이터의 연속적인 셀들 사이에 스페이서(spacer)를 삽입하는 단계를 더 포함하는 방법.
  11. 제10항에 있어서, 스페이서(spacer)를 삽입하는 상기 단계가 상기 최선노력 트래픽의 타임-아웃 함수, 수취승인, 또는 최소 버스트(burst)의 전송 중 최초로 발생하는 것에 대응하여 상기 스페이서를 선택하는 단계를 포함하는 방법.
  12. 제8항에 있어서, 상기 네트워크내의 혼잡 수준을 감지하는 단계가 개시되는 시간을 포함하는 타임 스탬프(time stamp)를 각각 갖는 일련의 테스트 샘플들을 상기 네트워크를 통하여 전송하는 단계 ; 상기 네트워크를 통한 총 지연을 결정하기 위하여 연속적인 테스트 샘플들을 비교하는 단계 ; 및 연결이 지속되는 동안 상기 네트워크를 통하는 총지연의 최소값을 결정하는 단계를 포함하는 방법.
  13. 제8항에 있어서, 상기 방법이 상기 최선노력 데이터의 속도가 낮은 값일 때 상기 속도를 작은 최초값만큼 감소시키는 단계 ; 및 상기 최선노력 데이터의 속도가 상기 낮은 값보다 높은 값일 때 상기 속도를 상기 최초값보다 더 큰 두 번째 값만큼 감소시키는 단계를 더 포함하는 방법.
  14. 제8항에 있어서, 상기 네트워크 내에서 상기 최선노력 데이타의 속도를 현재 사용가능한 대역폭의 공정 공유 값(fair share value)으로 초기화하는 단계를 더 포함하는 방법.
  15. 어떤 순간에서도 순간적으로 변화하는 사용가능한 전송용량을 갖는 패킷 네트워크 액세스 시스템에 있어서, 상기 네트워크내의 혼잡 수준을 감지하는 수단 ; 상기 혼잡 수준에 대응하여 상기 네트워크내의 데이터 전송속도를 제어하는 수단 ; 및 초기화 시(時)에 상기 네트워크 내로의 상기 테이터 전송 속도를 상기 네트워크 상에서 사용가능한 전송용량(transmission capacity)의 공정 공유 값으로 초기화 하는 수단을 포함하는 패킷 네트워크 액세스 시스템.
  16. 제 15항에 있어서, 상기 네트워크 내에서 혼잡 수준을 감지하는 수단이 네트워크 내의 대기지연의 절대값을 추정하기 위한 수단을 포함하는 패킷 네트워크 액세스 시스템.
  17. 제15항에 있어서, 상기 네트워크 내의 데이터 전송 속도를 제어하는 수단이 네트워크상에서 전송되는 데이터의 연속적인 셀들 사이에 타이밍 스페이서(spacer)를 삽입하는 수단을 포함하는 패킷 네트워크 액세스 시스템.
  18. 제17항에 있어서, 상기 스페이서(spacer)길이가 상기 최선노력 트래픽의 타임-아웃 함수, 수취승인, 또는 최소 버스트(burst)의 전송 중 최초로 발생하는 것에 대응하는 패킷 네트워크 액세스 시스템.
  19. 제15항에 있어서, 상기 네트워크내의 혼잡 수준을 감지하는 수단이 개시되는 시간(time of launch)을 포함하는 타임 스탬프(time stamp)를 각각 갖는 일련의 테스트 샘플들을 상기 네트워크를 통하여 전송하기 위한 수단 ; 상기 네트워크를 통한 총 지연을 결정하기 위하여 연속적인 테스트 샘플들을 비교하기 위한 수단 ; 및 연결이 지속되는 동안 상기 네트워크를 통하는 총 지연의 최소값을 결정하기 위한 수단을 포함하는 패킷 네트워크 액세스 시스템.
  20. 제15항에 있어서, 상기 패킷 네트워크 액세스 시스템이 상기 최선노력 데이터 속도가 낮은 값(lower value)일 때 상기 속도를 작은 최초값(first smaller value)만큼 감소시키는 수단 ; 및 상기 최선노력 데이터 속도가 상기 낮은 값보다 높은 값(higher value)일 때 상기 속도를 최초값보다 더 큰 두 번째 값(second value)만큼 감소시키는 수단을 더 포함하는 패킷 네트워크 액세스 시스템.
  21. 어떤 순간에서도 순간적으로 변화하는 사용가능한 전송용량을 갖는 패킷 네트워크 액세스 방법에 있어서, 상기 네트워크내의 혼잡 수준을 감지하는 단계 ; 상기 혼잡 수준에 대응하여 상기 네트워크내의 데이터 전송속도를 제어하는 단계 ; 및 초기화 시(時)에 상기 네트워크 내로의 상기 데이터 전송 속도를 상기 네트워크상에서 사용가능한 전송용량의 공정 공유 값으로 초기화하는 단계를 포함하는 패킷 네트워크 액세스 방법.
  22. 제21항에 있어서, 상기 네트워크내에서 혼잡 수준을 감지하는 단계가 네트워크 내의 대기지연의 절대값을 추정하기 위한 단계를 포함하는 패킷 네트워크 액세스 방법.
  23. 제21항에 있어서, 상기 네트워크내의 데이터 전송 속도를 제어하는 단계가 네트워크상에서 전송되는 상기 데이터의 연속적인 셀들 사이에 타이밍 스페이서(spacer)를 삽입하는 단계를 포함하는 패킷 네트워크 액세스 방법.
  24. 제23항에 있어서, 상기 스페이서 길이를 상기 데이터의 타임-아웃 함수, 수취 승인, 또는 최소 버스트의 전송 중 최초로 발생하는 것에 대응하게 하는 단계를 더 포함하는 패킷 네트워크 액세스 방법.
  25. 제21항에 있어서, 상기 네트워크내의 혼잡 수준을 감지하는 단계가 개시되는 시간을 포함하는 타임 스탬프(stamp)를 각각 갖는 일련의 테스트 샘플들을 상기 네트워크를 통하여 전송하기 위한 단계 ; 상기 네트워크를 통한 총 지연을 결정하기 위하여 연속적인 테스트 샘플들을 비교하기 위한 단계 ; 및 연결이 지속되는 동안 상기의 네트워크를 통하는 총 지연의 최소값을 결정하기 위한 단계를 포함하는 패킷 네트워크 액세스 방법.
  26. 제21항에 있어서, 상기 최선노력 데이터의 속도가 낮은 값일 때 상기 속도를 작은 최초값만큼 감소시키는 단계 ; 및 상기 최선노력 데이터의 속도가 상기 낮은 값보다 높은 값일 대 상기 속도를 상기 최초값보다 더 큰 두 번째 값만큼 감소시키는 단계를 더 포함하는 패킷 네트워크 액세스 방법.
KR1019970017124A 1996-08-22 1997-05-02 패킷 네트워크에서의 적응 속도기반 혼잡제어 KR100234212B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/701,624 US5936940A (en) 1996-08-22 1996-08-22 Adaptive rate-based congestion control in packet networks
US8/701,624 1996-08-22

Publications (2)

Publication Number Publication Date
KR19980018091A KR19980018091A (ko) 1998-06-05
KR100234212B1 true KR100234212B1 (ko) 1999-12-15

Family

ID=24818071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970017124A KR100234212B1 (ko) 1996-08-22 1997-05-02 패킷 네트워크에서의 적응 속도기반 혼잡제어

Country Status (4)

Country Link
US (1) US5936940A (ko)
EP (1) EP0827307A3 (ko)
JP (1) JPH1093624A (ko)
KR (1) KR100234212B1 (ko)

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765904B1 (en) 1999-08-10 2004-07-20 Texas Instruments Incorporated Packet networks
US5778187A (en) 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
US7266686B1 (en) 1996-05-09 2007-09-04 Two-Way Media Llc Multicasting method and apparatus
US6016307A (en) 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
FI970998A (fi) * 1997-03-10 1998-11-13 Nokia Telecommunications Oy Yhteyden hyväksymismenettely laajakaistaverkossa
US6115420A (en) * 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
US6137779A (en) * 1997-05-22 2000-10-24 Integrated Device Technology, Inc. Transmission rate calculation scheme using table-lookup
CA2220612C (en) * 1997-11-03 2001-04-24 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for inter-node deadlock avoidance on a parallel processing system
US6122254A (en) * 1997-11-25 2000-09-19 International Business Machines Corporation Method and apparatus for network flow control with perceptive parameters
US6442139B1 (en) * 1998-01-29 2002-08-27 At&T Adaptive rate control based on estimation of message queuing delay
US6580721B1 (en) * 1998-08-11 2003-06-17 Nortel Networks Limited Routing and rate control in a universal transfer mode network
US6195332B1 (en) * 1998-08-28 2001-02-27 3Com Corporation Rate-based flow control protocol on an ethernet-over-ring communications network
US6412013B1 (en) * 1998-10-23 2002-06-25 Koninklijke Philips Electronics N.V. System for controlling data output to a network
US6999421B1 (en) 1998-10-26 2006-02-14 Fujitsu Limited Adjustable connection admission control method and device for packet-based switch
JP2002529005A (ja) * 1998-10-26 2002-09-03 富士通株式会社 パケット方式交換機用の調節可能なコネクション承認制御方法及び装置
US6600721B2 (en) * 1998-12-31 2003-07-29 Nortel Networks Limited End node pacing for QOS and bandwidth management
JP3343906B2 (ja) 1999-03-02 2002-11-11 日本電気株式会社 光波ネットワーク
US6687226B1 (en) * 1999-04-01 2004-02-03 Telefonaktiebolaget Lm Ericsson (Publ) Base station subsystem and method for handling an increase in traffic volume that overloads a terrestrial link in an internet protocol network
US6801499B1 (en) 1999-08-10 2004-10-05 Texas Instruments Incorporated Diversity schemes for packet communications
US6801532B1 (en) 1999-08-10 2004-10-05 Texas Instruments Incorporated Packet reconstruction processes for packet communications
US6757256B1 (en) 1999-08-10 2004-06-29 Texas Instruments Incorporated Process of sending packets of real-time information
US6744757B1 (en) 1999-08-10 2004-06-01 Texas Instruments Incorporated Private branch exchange systems for packet communications
US6678267B1 (en) 1999-08-10 2004-01-13 Texas Instruments Incorporated Wireless telephone with excitation reconstruction of lost packet
US6804244B1 (en) 1999-08-10 2004-10-12 Texas Instruments Incorporated Integrated circuits for packet communications
JP3391316B2 (ja) * 1999-10-22 2003-03-31 日本電気株式会社 ネットワークシステム
US6608818B1 (en) * 1999-11-10 2003-08-19 Qualcomm Incorporated Radio link protocol enhancements to reduce setup time for data calls
US7142512B1 (en) * 1999-12-02 2006-11-28 Hitachi, Ltd. Network measurement controlling system apparatus and method
US7574351B2 (en) * 1999-12-14 2009-08-11 Texas Instruments Incorporated Arranging CELP information of one frame in a second packet
ATE514253T1 (de) * 1999-12-21 2011-07-15 Alcatel Lucent Verfahren zur übermittlung des netzwerkzustandes und kommunikationsnetzwerk
US7310529B1 (en) * 2000-01-24 2007-12-18 Nortel Networks Limited Packet data traffic control for cellular wireless networks
US7117263B1 (en) 2000-02-01 2006-10-03 Hewlett-Packard Development Company, L.P. Apparatus and method for processing requests from an external queue in a TCP/IP-based application system
FR2804808B1 (fr) * 2000-02-03 2002-03-15 Ipanema Technologies Procede d'optimisation dynamique de la qualite de service dans un reseau de transmission de donnees
JP2001223744A (ja) * 2000-02-09 2001-08-17 Nec Corp 経路設計システム及び経路設計方法
US6725274B1 (en) * 2000-03-29 2004-04-20 Bycast Inc. Fail-safe system for distributing streaming media having a dynamically reconfigurable hierarchy of ring or mesh topologies
US7197564B1 (en) * 2000-04-07 2007-03-27 Hewlett-Packard Development Company, L.P. Adaptive admission control system for a server application system
WO2001093525A2 (en) * 2000-05-26 2001-12-06 Citrix Systems, Inc. Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism
EP1180876B1 (en) * 2000-08-18 2005-10-26 Alcatel Marker device adapted to generate and insert a priority within a data packet
US6842424B1 (en) * 2000-09-05 2005-01-11 Microsoft Corporation Methods and systems for alleviating network congestion
KR100649300B1 (ko) * 2000-11-07 2006-11-24 주식회사 케이티 통신 시스템에서의 적응적인 데이터 전송 방법 및 그 장치
US6950393B1 (en) 2000-11-22 2005-09-27 P-Cube, Ltd. Method and apparatus for process flow random early discard in service aware networking systems
US7193968B1 (en) * 2001-02-08 2007-03-20 Cisco Technology, Inc. Sample netflow for network traffic data collection
JP3882187B2 (ja) * 2001-04-19 2007-02-14 日本電気株式会社 フロー制御システムおよび方法
EP1384153A4 (en) * 2001-05-04 2005-08-03 Netqos Inc CALCULATION OF RESPONSE TIME OF A SERVER SITE FOR ARBITRARY APPLICATIONS
US20030023746A1 (en) * 2001-07-26 2003-01-30 Koninklijke Philips Electronics N.V. Method for reliable and efficient support of congestion control in nack-based protocols
US7372811B1 (en) * 2001-08-07 2008-05-13 Cisco Technology, Inc. Load balancing model for multilink frame relay
US7184402B1 (en) 2001-08-30 2007-02-27 Cisco Technology, Inc Method for multi-link load balancing to improve sequenced delivery of frames at peer end
CA2357785A1 (en) * 2001-09-14 2003-03-14 Alcatel Canada Inc. Intelligent routing for effective utilization of network signaling resources
JP2003124956A (ja) * 2001-10-10 2003-04-25 Sony Corp 通信制御方法及びネットワークシステム
US7688863B2 (en) * 2001-10-19 2010-03-30 Renesas Technology America, Inc. Methods and apparatus for sharing network bandwidth
US7120819B1 (en) * 2001-11-15 2006-10-10 3Com Corporation Method and system for fault diagnosis in a data network
US7355981B2 (en) * 2001-11-23 2008-04-08 Apparent Networks, Inc. Signature matching methods and apparatus for performing network diagnostics
US7480239B1 (en) 2001-11-27 2009-01-20 Cisco Technology, Inc. Method and apparatus for true priority based connection establishment within a PNNI ATM network
US7233571B1 (en) 2001-12-18 2007-06-19 Cisco Technology, Inc. Connection-based bandwidth utilization
US7054940B2 (en) * 2002-01-25 2006-05-30 Thomson Licensing Adaptive cost of service for communication network based on level of network congestion
US7313635B1 (en) * 2002-03-21 2007-12-25 Cisco Technology Method and apparatus for simulating a load on an application server in a network
US7254632B2 (en) * 2002-04-26 2007-08-07 P-Cube Ltd. Apparatus and method for pattern matching in text based protocol
US7254643B1 (en) * 2002-08-08 2007-08-07 At&T Corp. System and method for providing multi-media services to communication devices over a communications network
GB0220660D0 (en) * 2002-09-05 2002-10-16 Nokia Corp Signal propogation delay routing
US7542471B2 (en) 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US7630305B2 (en) 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US6996626B1 (en) * 2002-12-03 2006-02-07 Crystalvoice Communications Continuous bandwidth assessment and feedback for voice-over-internet-protocol (VoIP) comparing packet's voice duration and arrival rate
US7180912B1 (en) 2003-01-06 2007-02-20 At&T Corp. System and method for providing a plurality of multi-media services using a number of media servers to form a preliminary interactive communication relationship with a calling communication device
US7379480B2 (en) * 2003-01-16 2008-05-27 Rockwell Automation Technologies, Inc. Fast frequency adjustment method for synchronizing network clocks
US7239611B2 (en) * 2003-03-03 2007-07-03 Microsoft Corporation Controlling admission of data streams onto a network based on end-to-end measurements
US7376121B2 (en) * 2003-06-06 2008-05-20 Microsoft Corporation Method and system for global routing and bandwidth sharing
US7274740B2 (en) * 2003-06-25 2007-09-25 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US7804776B2 (en) * 2003-08-07 2010-09-28 Broadcom Corporation System and method for variable data transmission rate resolution
US7468948B2 (en) * 2003-09-17 2008-12-23 Steven A Rogers Empirical scheduling of network packets using coarse and fine testing periods
US7529247B2 (en) 2003-09-17 2009-05-05 Rivulet Communications, Inc. Empirical scheduling of network packets
US9325998B2 (en) * 2003-09-30 2016-04-26 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7532574B1 (en) 2003-10-02 2009-05-12 Cisco Technology, Inc. Method and apparatus for improved priority based connection establishment within a PNNI ATM network
US7339923B2 (en) 2003-10-31 2008-03-04 Rivulet Communications, Inc. Endpoint packet scheduling system
US7508813B2 (en) 2003-11-25 2009-03-24 Rivulet Communications Local area network contention avoidance
US7376083B2 (en) * 2003-12-09 2008-05-20 International Business Machines Corporation Apparatus and method for modeling queueing systems with highly variable traffic arrival rates
US20050144309A1 (en) * 2003-12-16 2005-06-30 Intel Corporation, A Delaware Corporation Systems and methods for controlling congestion using a time-stamp
US8018850B2 (en) * 2004-02-23 2011-09-13 Sharp Laboratories Of America, Inc. Wireless video transmission system
CN1671124B (zh) * 2004-03-19 2011-10-19 清华大学 通信终端装置、通信终端接收方法、通信系统、网关
US7453885B2 (en) 2004-10-13 2008-11-18 Rivulet Communications, Inc. Network connection device
US8356327B2 (en) * 2004-10-30 2013-01-15 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7784076B2 (en) * 2004-10-30 2010-08-24 Sharp Laboratories Of America, Inc. Sender-side bandwidth estimation for video transmission with receiver packet buffer
US7797723B2 (en) * 2004-10-30 2010-09-14 Sharp Laboratories Of America, Inc. Packet scheduling for video transmission with sender queue control
DE102004055722B3 (de) * 2004-11-18 2006-06-08 Siemens Ag Abschätzung des Bandbreitenbedarfs in einem Kommunikationsnetz mit Zugangskontrollen
US8036123B1 (en) 2005-01-07 2011-10-11 Marvell International Ltd. Integrated circuit for network stress testing
US20070067480A1 (en) * 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
US7649845B2 (en) * 2005-09-30 2010-01-19 Intel Corporation Handling hot spots in interconnection networks
US9544602B2 (en) * 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
JP4906379B2 (ja) * 2006-03-22 2012-03-28 富士通株式会社 音声認識装置、音声認識方法、及びコンピュータプログラム
US7747734B2 (en) * 2006-03-29 2010-06-29 International Business Machines Corporation Apparatus, system, and method for error assessment over a communication link
US7652994B2 (en) * 2006-03-31 2010-01-26 Sharp Laboratories Of America, Inc. Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels
US7782759B2 (en) * 2006-04-21 2010-08-24 Microsoft Corporation Enabling network devices to run multiple congestion control algorithms
US8861597B2 (en) * 2006-09-18 2014-10-14 Sharp Laboratories Of America, Inc. Distributed channel time allocation for video streaming over wireless networks
US7652993B2 (en) * 2006-11-03 2010-01-26 Sharp Laboratories Of America, Inc. Multi-stream pro-active rate adaptation for robust video transmission
US7760642B2 (en) 2007-03-12 2010-07-20 Citrix Systems, Inc. Systems and methods for providing quality of service precedence in TCP congestion control
US7796510B2 (en) * 2007-03-12 2010-09-14 Citrix Systems, Inc. Systems and methods for providing virtual fair queueing of network traffic
US7706266B2 (en) * 2007-03-12 2010-04-27 Citrix Systems, Inc. Systems and methods of providing proxy-based quality of service
US20100146415A1 (en) * 2007-07-12 2010-06-10 Viasat, Inc. Dns prefetch
US20090016222A1 (en) * 2007-07-12 2009-01-15 Viasat, Inc. Methods and systems for implementing time-slice flow control
US8549099B2 (en) * 2007-07-12 2013-10-01 Viasat, Inc. Methods and systems for javascript parsing
US8966053B2 (en) 2007-07-12 2015-02-24 Viasat, Inc. Methods and systems for performing a prefetch abort operation for network acceleration
US8171135B2 (en) * 2007-07-12 2012-05-01 Viasat, Inc. Accumulator for prefetch abort
US7996520B2 (en) 2007-09-19 2011-08-09 Cisco Technology, Inc. Behavioral classification of communication sessions using active session initiation
US20090097401A1 (en) * 2007-10-12 2009-04-16 Wael William Diab Method and system for configurable data rate thresholds for energy efficient ethernet
US9654328B2 (en) 2007-10-15 2017-05-16 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
FR2922391B1 (fr) * 2007-10-15 2009-12-04 Canon Kk Procede et dispositif de transmission de donnees
US8780709B2 (en) * 2008-04-18 2014-07-15 Arris Enterprises, Inc. Intelligent traffic optimizer
US8239570B2 (en) * 2008-10-01 2012-08-07 International Business Machines Corporation Using link send and receive information to select one of multiple links to use to transfer data for send and receive operations
WO2010042580A1 (en) * 2008-10-08 2010-04-15 Citrix Systems, Inc. Systems and methods for allocating bandwidth by an intermediary for flow control
US20100180082A1 (en) * 2009-01-12 2010-07-15 Viasat, Inc. Methods and systems for implementing url masking
US9462030B2 (en) 2009-03-04 2016-10-04 Jacquelynn R. Lueth System and method for providing a real-time three-dimensional digital impact virtual audience
US8401007B2 (en) * 2009-04-06 2013-03-19 Avaya Inc. Network synchronization over IP networks
CN101534249B (zh) * 2009-04-15 2012-01-04 杭州华三通信技术有限公司 一种在捆绑链路上发送数据的方法及网络设备
US20140258382A1 (en) * 2013-02-14 2014-09-11 Tibco Software Inc. Application congestion control
US9160663B2 (en) * 2013-03-15 2015-10-13 Google Inc. Dynamic congestion control
US9356869B2 (en) 2013-04-10 2016-05-31 Viber Media Inc. VoIP bandwidth management
US9769073B2 (en) * 2013-04-25 2017-09-19 City University Of Hong Kong System and method for transmitting data in a network
US9170752B2 (en) * 2013-12-19 2015-10-27 International Business Machines Corporation Dynamic feedback-based throughput control for black-box storage systems
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10284484B1 (en) * 2015-07-15 2019-05-07 Cisco Technology, Inc. Accelerated ramp up for delay-based rate adaptation
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
WO2020060455A1 (en) * 2018-09-18 2020-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Methods and nodes for delivering data content
WO2020086092A1 (en) * 2018-10-26 2020-04-30 Hewlett Packard Enterprise Development Lp Determination of an inflection point in congestion of a network path

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377327A (en) * 1988-04-22 1994-12-27 Digital Equipment Corporation Congestion avoidance scheme for computer networks
GB2261799B (en) * 1991-11-23 1995-04-19 Dowty Communications Ltd Packet transmission system
US5367523A (en) * 1993-08-26 1994-11-22 International Business Machines Corporation Adaptive rate-based congestion and flow control in packet communications networks
JP2639335B2 (ja) * 1993-12-22 1997-08-13 日本電気株式会社 Atm網における輻輳制御方式
US5675576A (en) * 1995-06-05 1997-10-07 Lucent Technologies Inc. Concestion control system and method for packet switched networks providing max-min fairness
US5754530A (en) * 1996-04-18 1998-05-19 Northern Telecom Limited Flow control of ABR traffic in ATM networks
US5748901A (en) * 1996-05-21 1998-05-05 Ramot University Authority Ltd. Flow control algorithm for high speed networks

Also Published As

Publication number Publication date
EP0827307A2 (en) 1998-03-04
EP0827307A3 (en) 2000-08-30
KR19980018091A (ko) 1998-06-05
JPH1093624A (ja) 1998-04-10
US5936940A (en) 1999-08-10

Similar Documents

Publication Publication Date Title
KR100234212B1 (ko) 패킷 네트워크에서의 적응 속도기반 혼잡제어
US5014265A (en) Method and apparatus for congestion control in a data network
EP0872988B1 (en) A method for supporting per-connection queuing for feedback-controlled traffic
US5970048A (en) Control of overload situations in frame relay network
US6122254A (en) Method and apparatus for network flow control with perceptive parameters
US5367523A (en) Adaptive rate-based congestion and flow control in packet communications networks
US5892754A (en) User controlled adaptive flow control for packet networks
US6021116A (en) Method and apparatus for controlling data transfer rate using virtual queues in asynchronous transfer mode networks
US6788697B1 (en) Buffer management scheme employing dynamic thresholds
AU752032B2 (en) Method and device for data flow control
US7046631B1 (en) Method and apparatus for provisioning traffic dedicated cores in a connection oriented network
US6894974B1 (en) Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
EP0688481B1 (en) Device and method for atm end system cell flow regulation
US7161907B2 (en) System and method for dynamic rate flow control
US5163046A (en) Dynamic window sizing in a data network
EP1670194B1 (en) Service guarantee and congestion control in high speed networks
US7047312B1 (en) TCP rate control with adaptive thresholds
EP0275678A1 (en) Packet switching system arranged for congestion control through bandwidth management
EP1635520A2 (en) Packet transfer method and device
JPH1065710A (ja) フロー制御情報を伝送元に提供する機構を含むデジタルネットワーク
US5956322A (en) Phantom flow control method and apparatus
US5978357A (en) Phantom flow control method and apparatus with improved stability
US20030235208A1 (en) Dynamic asynchronous bandwidth allocation with multiple predictors for variable bit rate traffic
Aweya et al. Enhancing network performance with TCP rate control
AU717162B2 (en) Improved phantom flow control method and apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee