KR101071898B1 - 네트워크 지연 제어 - Google Patents

네트워크 지연 제어 Download PDF

Info

Publication number
KR101071898B1
KR101071898B1 KR1020067021384A KR20067021384A KR101071898B1 KR 101071898 B1 KR101071898 B1 KR 101071898B1 KR 1020067021384 A KR1020067021384 A KR 1020067021384A KR 20067021384 A KR20067021384 A KR 20067021384A KR 101071898 B1 KR101071898 B1 KR 101071898B1
Authority
KR
South Korea
Prior art keywords
packets
packet
transmission path
network transmission
series
Prior art date
Application number
KR1020067021384A
Other languages
English (en)
Other versions
KR20070048648A (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 KR20070048648A publication Critical patent/KR20070048648A/ko
Application granted granted Critical
Publication of KR101071898B1 publication Critical patent/KR101071898B1/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/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • 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

Abstract

타이밍 민감성 패킷의 송신에서 바람직하지 않은 지연을 피하기 위해 네트워크 트래픽의 흐름을 제어하는 것이 개시된다. 네트워크 송신 경로를 통해 송신될 복수의 패킷들은 모니터링된다. 타이밍 민감성 패킷은 네트워크 송신 경로를 통해 송신하는 데 가용한 시간이 예측된다. 타이밍 민감성 패킷 이외의 패킷이 예측된 시간과 연관된 시간에서 네트워크 송신 경로를 점유하지 않도록, 복수의 패킷은 예측된 시간에 따라 제어된다. 일련의 시험 패킷들을 송신 및 분석함으로써 네트워크 송신 경로와 연관된 최대 데이터 송신 속도를 근사화하는 것이 개시된다. 일련의 시험 패킷들을 송신 및 분석함으로써 네트워크 송신 경로와 연관된 버퍼의 버퍼 크기를 근사화하는 것이 개시된다.
Figure R1020067021384
네트워크 지연 제어기, 타이밍 민감성 패킷, 네트워크 송신 경로, 어드레스 정보, PIP 식별자

Description

네트워크 지연 제어{Network delay control}
본 출원은 참고문헌으로서 본원에 통합되며 2004년 4월 13일에 출원된 명칭이 "네트워크 흐름 제어"인 미국 특허 예비 출원 제 60/562,111 호에 대해 우선권을 주장한다.
본 발명은 일반적으로 네트워킹에 관한 것이다. 보다 상세하게는, 지연 제어 기술이 개시된다.
컴퓨터 네트워크에서, 하나의 네트워크 노드로부터 다음으로 전송된 패킷은 변화하는 지연을 갖는다. 일반적으로 말해, 패킷은 네트워크 경로를 통해 한번에 하나씩 시퀀싱되고 송신된다. 다수의 패킷은 네트워크를 통해 송신될 때, 연속적인 교섭(negotiation) 및 시퀀싱이 임의의 송신 지연량을 야기할 수 있다. 예를 들어, 패킷은, 대기하는 패킷이 가용되기 전에 또는 나머지의 패킷이 높은 우선순위 지정을 갖기 전에, 송신을 시작한다. 결과적으로, 패킷의 도착 지연은 예측된 송신 지연으로부터 일탈할 수 있다. 예측된 지연으로부터의 일탈은 지터(jitter)로 일반적으로 불리운다. 다수의 네트워크 구성에서 지터가 정규 분포로 되지 않는 확률 분포 함수(probability ditribution function; pdf)를 갖는다. 또한, 지터가 비-고정적 확률론적인(non-stationary stochastic) 처리이다.
네트워크의 지터는 상대적으로 엄격한 타이밍 요건을 갖는 타이밍 패킷, VOIP(voice over Internet Protocol), 비디오 스트리밍, 또는 다른 프로토콜의 패킷과 같은 타이밍 민감성 패킷(timing sensitive packet)에 대해 특히 바람직하지 않다. 지터가 네트워크 대역폭의 이용에서 상당한 성능 저하 및 감소를 야기한다. 또한, 타이밍 및 주파수 정보를 포함하는 패킷에서, 네트워크 지터의 비-고정적 특성은 그 정보의 신뢰성있는 전달을 어렵게 한다. 결과적으로, 타임 민감성 패킷의 지터를 감소시키는 방법을 갖는 것이 바람직하다. 네트워크 대역폭의 이용이 또한 증가될 수 있는 경우에 또한 유용하다. 또한, 네트워크 지터가 고정적 확률론적인 처리를 하게 되는 경우에 유용하다.
본 발명의 각종 실시예는 다음의 상세한 설명 및 첨부 도면에서 개시된다.
도 1은 일 실시예에서 사용된 네트워크 지연 제어기의 예시도.
도 2A는 NDC에 의해 구현된 패킷 핸들링 처리의 예시도.
도 2B는 정규 모드 타이머의 처리의 도시도.
도 2C는 평상 모드 타이머의 처리의 도시도.
도 3A는 12mS 간격에 걸친 NTP의 송신 속도의 그래픽 표현을 도시한 도면.
도 3B는 네트워크 지연 제어기가 NTP내의 버퍼 이용을 추정하도록 구성되는 실시예의 도시도.
도 4A는 패킷이 NTP를 통해 수신 및 송신되는 처리의 도시도.
도 4B는, 도 4A에 예시된 동작의 정규 모드가 유효할 때를 결정하기 위해 사 용된 정규 모드 타이머 동작의 예시도.
도 4C는 NTP의 현재 버퍼 이용이 전파 타이머에 의해 추정되는 방법의 도시도.
도 5는 제 1, 2 및 3 노드가 네트워크 패킷 데이터를 네트워크 흐름 제어기로 송신하기 위해 결합되는 네트워크 구성의 도시도.
도 6A-6D는 네트워크 흐름 제어기의 조정(arbitration) 지터 및 NTP와 연관된 전달 지터를 최소화하는 NDC 동작의 예시도.
도 7은 주어진 NTP의 대역폭 및 입력 버퍼 크기를 자동 추정하기 위해 사용된 링크 대역폭 분석기(LBA)를 포함하는 네트워크 구성도.
도 8은 제 2 NDC에 의해 송신되는 13개의 패킷 시퀀스의 도시도.
도 9는 PIP 데이터 패킷의 포맷 예시도.
본 발명은 처리, 장치, 시스템, 컴퓨터 판독 가능한 저장 매체와 같은 컴퓨터 판독 가능한 매체 또는 컴퓨터 네트워크를 포함해서 다수의 방법으로 구현될 수 있고, 그 컴퓨터 네트워크에서 프로그램 명령이 광 또는 전자 통신 링크를 통해 보내진다. 이 명세서에서, 본 발명이 얻을 수 있는 구현예, 또는 다른 형태는 기술로서 언급될 수 있다. 일반적으로, 개시된 처리의 단계 순서가 본 발명의 범위 내에서 변경될 수 있다.
본 발명의 하나 이상의 실시예의 상세한 설명은 본 발명의 원리를 예시하는 첨부 도면을 따라 하기에서 제공된다. 본 발명은 그 실시예와 관련해서 설명되나, 본 발명이 그 실시예로 제한되지 않는다. 본 발명의 범위는 청구항에 의해서만 제한되고 본 발명은 다수의 대안예, 변형예 및 등가물을 포함한다. 다수의 특정한 상세한 설명은 다음의 설명에서 설명되어 본 발명의 이해를 완전히 한다. 그 상세한 설명은 예시를 위해 제공되고 본 발명은 그 특정한 상세한 설명의 일부 또는 전부없이 청구항에 따라 실시될 수 있다. 명료성을 위해, 본 발명에 관련된 기술 분야에서 공지되는 기술 자료는 상세하게 설명되지 않아서 본 발명이 불필요하게 불명료하게 되지 않는다.
지연 특성에 대해 이더넷, 비동기 전송 모드(ATM), 패킷 지연 등과 같은 패킷 기반의 네트워크의 전송 성능을 개선하는 것이 개시된다. 어떤 실시예에서, 패킷 기반의 네트워크를 통해 지정된 패킷의 평균 전달 지연 및 일련의 대응하는 지정된 패킷의 전달 지연 변화가 감소 또는 최소화된다. 본원에서 사용되듯이, "타이밍 민감성 패킷"이라는 용어가 전달 지연을 감소시키고, 최소화하거나 피하기 위해 유리하거나 바람직한 패킷을 말한다. 그 패킷의 예는 예를 들어, 2개의 다른 위치에서 2개 이상의 처리 또는 동작을 동기화하기 위해 사용된 타이밍일 수 있다. 그런 타이밍 패킷은 네트워크를 통해 위상 또는 주파수 기준을 제공하기 위해 사용될 수 있어서 위상 동기 루프(PLL) 또는 주파수 동기 루프(FLL)를 원격 위치에서 록킹한다.
본원에서 사용된 패킷은 각종 프로토콜 및 표준에 따라 이더넷 패킷, 데이터 셀, 또는 다른 데이터 유닛과 같이 네트워크를 통해 송신된 데이터 유닛을 말한다. 패킷의 포맷 및 패킷에 저장된 데이터의 양은 변할 수 있다. 예시를 목적으로, 이 더넷 패킷을 사용하는 예가 본 명세서를 통해 광범위하게 논의되는 데, 그 기술이 다른 패킷 형태에도 적용가능하다.
도 1은 일 실시예에서 사용된 네트워크 지연 제어기를 예시한다, 본 예에서, 제 1 노드(101)는 정보 패킷을 네트워크 송신 경로(104)를 통해 제 2 노드(102)로 송신하다. 노드(101 및 102)가 관련된 네트워크 또는 네트워크 요소에 대해 임베딩된 시스템, 컴퓨터 터미널 또는 들어오는/나가는 포인트를 포함할 수 있다. 네트워크 지연 제어기(NDC)(106)가 노드(101) 및 네트워크 송신 경로(NTP)(104) 간에 패킷을 전송하기 위해 사용된다. 제 2 노드에 의해 수신된 거의 모든 정보 패킷이 NDC(106)를 통해 보내진다. 도 1에서, 제 1 노드(101)로부터 NDC(106)까지의 최대 데이터 송신 속도가 T1으로 지정된다. NDC(106)로부터 네트워크 송신 경로(104)까지의 최대 데이터 속도가 T2로 지정된다. NDC(106)에 결합된 포트로부터 제 2 노드(102)에 결합된 포트까지의 네트워크 송신 경로(104)의 최대 데이터 속도가 T3로 지정된다. 본 예에서, 최대 데이터 속도(T3)가 T1 또는 T2의 최대 데이터 속도보다 적다고 가정한다. 이런 상황과 관련된 문제가 "속도 변이 지터"로 본원에서 언급되며, 수신 노드는 타이밍 민감성 패킷이 횡단해야하는 단말 대 단말 경로의 다른 세크먼트가 다른 데이터 속도를 가질 수 있다는 사실에 적어도 부분적으로 타이밍 민감성 패킷의 도착 시간을 신뢰성있게 도착하길 예측하기 어렵다. 최대 데이터 속도(T3)가 T1 또는 T2의 최대 데이터 속도보다 적다는 가정은 네트워크 송신 경로(104) 자체보다 높은 송신 대역폭을 가지는 네트워크 인터페이스를 갖는다. 결과적으로, 제 1 노드(101)가 NTP(104)보다 빠른 속도에서 데이터 송신일 수 있다. 그 런 네트워크 송신 경로의 예는 디지털 가입자 라인(DSL) 송신 경로를 포함할 수 있다. DSL 모뎀은 "10 베이스(base) T"의 이더넷 인터페이스를 컴퓨터에 대해 가질 수 있고, 예를 들어, 그것이 초당 천만 비트를 송신할 수 있다. DSL 연결 자체가 1Mbps의 최대 송신 용량을 가질 수 있다. 상대적으로 높은 속도의 송신기로 동작하기 위해, 제 1 노드(101)와 같이, NTP(104)는 완전한 버스트에서 송신기로부터 수신되고 NTP(104)를 통해 상대적으로 느리게 전달될 때 데이터 패킷에 대한 저장을 포함한다. NTP(104)는 제 1 노드(101)로부터 수신될 때 제한되지만 빠른 패킷 버스트에 추가의 저장을 포함할 수 있다. NTP(104)는 스위치, 라우터, 광섬유 매체, 아날로그 가입자 라인 등과 같은 일반적으로 공지된 네트워크 요소의 결합을 포함할 수 있다.
제 1 노드(101)에 의해 제 2 노드(102)로 송신되는 패킷 형태의 세트에 포함되는 것은 지정된 타이밍 민감성 패킷이다. 타이밍 민감성 패킷은 패킷 구조 내의 하나 이상의 특정한 필드에 의해 나머지의 패킷과 구별된다. 이더넷 프로토콜에서, 48 비트 소스 및 목적지 어드레스 필드를 추종하는 16비트인 "이더넷 형태 필드"가 사용될 수 있고: 대안적으로, 48 비트 목적지 어드레스 필드 또는 목적지 어드레스 필드의 서브세트, 소스 어드레스 필드의 일부, 페이로드, 패킷 내의 각종 필드의 결합 또는 나머지의 알맞은 필드가 사용될 수 있다. 특정한 적용, 시스템의 구성, 전체 효율, 네트워크 프로토콜 및 네트워크 매체와 같은 인자는 타이밍 민감성 패킷들을 구별하기 위해 사용된 필드의 선택에 영향을 미친다. NDC(106)에 의해 수신된 패킷은 지정된 타임 민감성 패킷의 존재를 위해 모니터링된다.
도 1에서, NDC(106)는 패킷이 제 1 노드(101)로부터 수신될 때 데이터 속도를 제한하기 위해 사용된 속도 제한기(107)를 포함하여, NTP(104)로의 패킷의 송신이 NTP(104)의 최대 데이터 속도에 따라 조절된다. 네트워크 송신 경로(104)로 진행된 패킷의 데이터 속도를 제한하기 위해, NDC는 제 1 노드(101)로부터 수신된 패킷 일부를 저장할 수 있다. 비-타이밍 민감성 패킷이 수신되고 저장이 가용하지 않은 경우에 또는 불충분한 저장량이 점유되지 않은 경우에, 및 패킷이 NTP(104)의 데이터 속도 용량을 거의 초과하지 않고 네트워크 송신 경로(104)로 진행될 수 없는 경우에, 패킷이 버려진다. 양호하게는, 타이밍 민감성 패킷 모두가 NDC(106)에 의해 수신될 때 NTP(104)로 진행된다. 데이터가 네트워크 송신 경로(104)의 최대 데이터 속도에 따라 NDC(106)에 의해 속도-제한되므로, 네트워크 송신 경로(104)는 NDC(106)에 사용된 특정한 속도-제한 기술에 따라 저장중인 최대-크기의 패킷보다 더 많이 가지지 못한다.
NDC(106)는 제 1 노드(101)로부터 출력될 때 특정한 타이밍 민감성 패킷을 인식하기 위해 구성된다. 도 2A-2C는 일부 실시예에 따라 NDC(106)에 의해 구현된 동작 세트를 나타낸다. 특히, 도 2A는 NDC에 의해 구현된 패킷 핸들링 처리를 예시한다. 도 2B 및 2C는 하기에서 설명했듯이 NDC에 의해 각기 사용된 정규 모드 타이머 및 평상 모드 타이머의 처리를 도시한다. 우선 도 2A에서, 지정된 타이밍 민감성 패킷이 수신되거나 큐(206)에 저장되는 지가 결정된다. 어떤 실시예에서, 타이밍 민감성 패킷은 수신되고 나중의 송신을 위해 저장되지 않을 때 항시 송신된다. 그 실시예에서, 단계(206)는 타이밍 민감성 패킷이 수신되었는 지를 결정하는 단계를 포함한다. 다른 실시예에서, 예를 들어, 높은 우선순위의 타이밍 민감성 패킷이 수신되거나 같은 시간에 수신되도록 예측되는 경우에 또는 NTP가 타이밍 민감성 패킷을 수신하는 순간에 가용하지 않은 경우에, 타이밍 민감성 패킷은 설정된 환경하에서 큐에 저장될 수 있다. 타이밍 민감성 패킷이 수신되었거나 큐에 있고 높은 우서순위의 패킷이 NTP를 통해 타이밍 민감성 패킷의 송신 시간 동안 도착하길 예측되지 않은 경우에, 타이밍 민감성 패킷은 송신을 위해 NTP로 진행된다(225). 타이밍 민감성 패킷이 수신되지 않고 큐에 타이밍 민감성 패킷이 없는 경우에, 비-타이밍 민감성 패킷이 수신되었거나 큐에 저장되는 지를 결정한다(208). 비-타이밍 민감성 패킷이 수신되지 않고 큐에 비-타이밍 민감성 패킷이 없는 경우에, 처리는 다시 시작하고 타이밍 민감성 패킷 또는 비-타이밍 민감성 패킷이 수신되거나 큐에 존재하도록 발견될 때까지 단계(206 및 208)가 수행된다. 단계(208)에서 비-타이밍 민감성 패킷이 수신되었거나 큐에 존재하는 것으로 결정되는 경우에, 평상 모드가 유효한 지를 결정한다(210). 어떤 실시예에서, 단계(210)는 평상 모드 타이머가 설정되고 아직 만료되지 않거나 재설정(즉, 타이머가 동작되는지)되는지를 결정하는 단계를 포함한다. 평상 모드 타이머는 타임 윈도우를 정의하고 그 타임 윈도우 동안 들어오는 타이밍 민감성 패킷이 도착하길 예측되는 타이밍 민감성 패킷의 송신을 위해 네트워크 송신 경로를 클리어하게 하기 위해 버퍼링된다.
평상 모드 타이머의 상세한 설명은 도 2B 및 2C와 연결하여 하기에서 논의된다. 어떤 실시예에서, 타임 윈도우는 타이밍 민감성 패킷이 도착하길 예측되는 타임에 시작한다. 다른 실시예에서, 타임 윈도우는 타이밍 민감성 패킷의 예측된 도착 시간 전에 설정된 시간량을 개시하여 타이밍 민감성 패킷의 도착에 앞서서 NTP로 하여금 비-타이밍 민감성 패킷을 클리어되도록 한다. 어떤 실시예에서, 타임윈도우가 타이밍 민감성 패킷의 예측된 도착 시간을 초과하여 확장할 수 있어, 예를 들어, 타이밍 민감성 패킷의 나중 도착을 허여한다. 어떤 실시예에서, 타임 윈도우는, 타이밍 민감성 패킷이 예측된 시간에 도착하지 않는 경우에, 타이밍 민감성 패킷의 예측된 도착 시간에서 만료하기 위해 초기에 설정되나 예를 들어, 설정량에 의해 또는 설정된 알고리즘에 따라 확장될 수 있다.
평상 모드가 유효하고(즉, 평상 모드 타이머가 설정되었고 아직 만료되지 않은) 단계(208)에서 비-타이밍 민감성 패킷이 수신되는 것이 결정되는 경우에, 그 수신된 패킷은 불충분한 저장을 가용하게 하는 경우에 큐에 저장되거나 버려진다(270). 평상 모드가 유효하고(즉, 평상 모드 타이머가 설정되었고 아직 만료되지 않은)(210) 비-타이밍 민감성 패킷이 수신되지 않는 경우(즉, 단계(208)의 결정은 큐에 아직 저장되지 않았던 비-타이밍 민감성 패킷이 수신되는 것이 아니라 하나 이상의 비-타이밍 민감성 패킷이 큐에 존재하므로 확정적으로 대답되는), 아무런 조치가 단계(270)에서 취해지지 않는다.
평상 모드가 유효하지 않은 경우에(즉, 평상 모드 타이머가 만료되거나 재설정되고, 즉 동작하지 않는)(210), 속도-제한 문턱값이 충족되는 지가 결정된다(215). 각종의 속도 제한 기술은 NDC의 구현에 따라 사용될 수 있다. 일 실시예에서, 그 속도는 제한되어 그 데이터가 NTP(104)의 최대 데이터 송신 용량을 초과하지 않는 평균 속도에서 NTP에 보내진다. 속도-제한 문턱값이 충족되는 경우에, 있다면 그 수신된 비-타이밍 패킷은 불충분한 저장을 가용하게 하는 경우에 큐에 저장되거나 버려진다(270). 속도-제한 문턱값이 초과하지 않는 경우에, 비-타이밍 민감성 패킷이 송신된다(220). 어떤 실시예에서, 단계(220)에서 비-타이밍 민감성 패킷이 선입선출 방식으로 송신되어, 있다면 큐에 저장된 패킷이 수신되는 순서로 및 송신되는 연속 수신된 패킷에 앞서서 송신된다. 어떤 실시예에서, 단계(220)는 아래의 위치에서 또는 큐에 이미 저장되었던 이미-수신된 패킷 후에 단계(220)의 특정한 반복에 송신되지 않고(예를 들어, 이미-수신된 패킷이 큐에 저장되므로) 큐에 아직 저장되지 않은 나중-수신된 패킷을 큐에 저장하는 단계를 포함한다. 나머지의 실시예에서, FIFO 방식은 사용되지 않고 큐에 이미 저장되지 않았던 수신된 패킷은 송신용의 큐로부터 당겨지는 패킷에 앞서서 송신될 수 있다. 패킷이 일단 송신되면(220), 처리는 다시 시작한다.
도 2B에서, 지정된 타이밍 민감성 패킷이 수신될 때마다(245), 정규 모드 타이머가 설정된다(250). 양호하게는, 정규 모드 타이머는 다음의 타이밍 민감성 패킷이 도착할 때의 특정 시간 또는 시간 간격 마이너스 "평상 모드"로 불리우는 다음의 타이밍 민감성 패킷의 예측된 도착 시간 전에 윈도우를 정의하는 시간값에 따른 값으로 설정되고, 그 평상 모드 동안, 비-타이밍 민감성 패킷은 NTP가 도착시 타이밍 민감성 패킷을 전송할 수 있다는 것을 확정하기 위해 NTP에 송신되지 않을 것이다. 세트 시간값이 도달한 후에 정규 모드 타이머가 만료한다. 정규 모드 타이머가 일단 설정되면(250), 평상 모드 타이머가 동작되는 경우에(즉, 설정되고 아직 만료되지 않은) 재설정된다(정지된다)(252). 어떤 실시예에서, 평상 모드 타이머를 설정하는 타이밍 민감성 패킷이 송신될 때까지 평상 윈도우가 유효하다는 것을 확정하기 위해(즉, 비-타이밍 민감성 패킷이 송신되는) 타이밍 민감성 패킷이 송신되는 것으로 결정되는 경우에만 도 2B의 단계(252)가 수행된다. 어떤 실시예에서, 도 2A의 단계(225)가 설정되고 아직 만료되지 않은 경우에 평상 모드 타이머를 리세트하는 단계를 포함하고, 그런 실시예에서 단계(252)가 생략된다.
도 2C에서, 정규 모드 타이머가 만료할 때마다(255), 평상 모드 타이머가 설정된다(260). 평상 모드 타이머는, 상기 설명했듯이, 비-타이밍 민감성 패킷이 NTP에 송신되지 않는 간격 동안 시간값으로 설정된다. 평상 모드 시간값이 도달한 후에 평상 모드 타이머가 만료된다.
양호하게는 정규 모드 타이머는 지정된 타이밍 민감성 패킷의 주기성을 예측한다. 평상 모드 타이머는, 비-타이밍 민감성 패킷이 타이밍 민감성 패킷이 도착하길 예측할 때 네트워크 송신 경로를 점유하지 않도록 NTP(104)로의 비타이밍 민감성 패킷 흐름을 제어한다. 어떤 실시예에서, NDC(106)가 타이밍 민감성 패킷의 수신시 정규 모드 타이머를 특정한 간격(TN)으로 설정하도록 구성되어, 타이밍 민감성 패킷의 공지된 주기적인 송신 간격에 대응한다. 예를 들어, 네트워크 송신 경로(104)가 네트워크 송신 경로(104)에 1Mbps의 최대 송신 속도(T3) 및 제 1 노드(101)의 인터페이스를 갖는다고 가정하고, T1 T2는 10 Mbps의 최대 송신 용량을 갖는 이더넷 연결이다. 지정된 타이밍 민감성 패킷이 1초의 주기적 간격으로 송신된다고 또한 가정한다. 본 예의 나머지 설명에서 지정된 타이밍 민감성 패킷은 "1pps 패킷"으로 언급되고, 설명된 기술이 다른 도착 속도를 갖는 타이밍 민감성 패킷에도 적용가능하다.
정규 모드 타이머의 만료 전에, NDC(106)에 의해 수신된 1pps가 아닌 패킷은 NTP(104)로 알맞게 속도-제한되고 진행된다. 도 3A는 일 실시예에서 NDC(106)에 의해 조절하듯이 NTP(104)의 송신 속도의 그래픽 표현을 12mS 간격으로 도시한다. 도 3A에 도시했듯이, 12K비트/12mS 또는 1Mbps의 최대 NTP 송신 속도가 지정된다. 도 3A에서, 1200비트/12mS 또는 100Kbps의 문턱값 송신 속도가 지정된다. 계산된 NTP 송신 속도가 100Kbps의 문턱값 송신 속도를 거의 초과하는 경우에, NDC(106)에 의해 수신된 패킷은 NTP(104)로 진행되지 않는다. 도 3A에 도시된 바와 같이, 시간 제로(T0)에서, 64 바이트 패킷이 NTP(104)로 진행된다. NDC/NTP 인터페이스가 상대적으로 빠르므로, 순간 계산된 송신 속도는 패킷 모두가 NTP(104)로 완전히 전송할 때 38.41Kbps의 최대 속도로 빠르게 증가한다. NTP(104)가 패킷을 전달할 때, 12 mS 윈도우의 송신 속도가 제로로 감소한다. T1에서 1500 바이트의 최대-크기의 패킷이 NTP에 전송된다. 그 패킷이 NTP(104)로 전송될 때, 12mS 간격의 계산된 송신 속도는 900 Kbps로 올라간다. 패킷이 NTP(104)를 통해 전달하는 동안, 다른 최대 크기의 패킷은 시간(T2)에서 NDC(106)에 의해 수신된다. 그러나, 12mS 시간 윈도우의 계산된 송신 속도가 도시된 예의 T4에서 거의 100Kbps일 때까지 패킷은 NTP로 진행되지 않는다. 제 2 패킷이 NTP(104)로 송신되므로, 제 2 패킷이 NTP(104)로 완전히 전송될 때 계산된 NTP(104) 전송 속도는 1Mbps로 올라간다. 유사하게, T3에서 수신된 연속적인 최대 크기의 패킷은, 12mS 시간 윈도우의 계산된 송신 속도가 도시된 예의 T5에서 거의 100Kbps로 될 때까지, 저장되고 NTP로 진행되지 않는다. 통상적으로, 이더넷의 최대 크기의 패킷은 1,500 바이트이다. 네트워크가 1,500 바이트의 최대 크기의 패킷을 수락하기 위해 구성되는 경우에, NDC(106)으로부터 NTP(104)로 전송하는 데는 최대 1500 바이트*1초/10Mb 또는 1.2 밀리초가 걸린다. NTP(104)가 데이터를 NDC(106)으로부터 수신되자마자 송신을 시작하는 경우에, NTP(104)는 1Mbps에서 같은 패킷의 약 1,200 비트를 이미 갖는다. 결과적으로, NTP(104)는 최대 크기의 패킷을 수용하기 위해 대략 12,000비트(1,500바이트*8비트/바이트) 마이너스 1,200비트 또는 10,800비트를 저장할 필요가 있다. 본 예를 목적으로, NDC(106)에 의해 수신된 패킷이 NTP(104)로 전송하기 전에 100Kbps 이하의 계산된 NTP 송신 속도가 필요하다는 것을 확정하기 위해 속도 제한 함수가 동작한다고 가정한다. 결과적으로, 정규 모드 타이머가 NTP(104)에 저장된 최대 데이터의 양을 허여하도록 설정되어 최악의 경우에 다음의 1pps 패킷의 도착시간에 의해 NTP(104) 외부로 전달한다. 1Kbps로 송신된 10,800비트 정보에 대해, 정규 모드 타이머는 1초 마이너스 10.8 밀리초 또는 989.2 밀리초에서 만료하기 위해 설정되야한다. 정규 모드 타이머가 만료할 때(255), 평상 타이머가 설정된다(260). 평상 타이머는 다음의 1pps 패킷의 예측된 시간까지 정규 모드 타이머의 만료로부터 시작하는 시간 기간동안 동작하도록 설정되야한다. 양호하게는, 평상 모드 타이머는 다음의 1pps 패킷의 도착시간에 대해 지터 마진을 제공하기 위해 약간 긴 기간 동안 동작하도록 설정되야한다. 정상 모드 타이머의 만료 후에 및 평상 윈도우 타이머의 만료 전에, 타임 민감성 패킷으로 되지 않는 제 1 노드(100)로부터 수신된 패킷은 NTP(104)로 진행되지 않으나 저장을 가용하게 하는 경우에 NDC(106)에 의해 저장된다. 상대적으로 적은 패킷이 수신되고 그것이 진행되고 다음의 타이밍 민감성 패킷의 예측시 12mS의 송신 속도가 제로로 되는 것으로 결정되는 경우에, 그것이 NTP(104)로 선택적으로 전송될 있다. 그렇지않으면, 비-타이밍 민감성 패킷이 버려진다. 그러므로, 정규 모드 타이머는 다음의 타임 민감성 패킷이 예측되는 시간 간격 마이너스 네트워크 송신 경로(104)에 저장된 데이터를 클리어하는데 필요한 시간에 대응하는 값으로 양호하게 설정된다. 평상 타이머는 네트워크 송신 경로(104)를 통한 비-타이밍 민감성 데이터 송신이 조정되는 시간 길이를 제한하기 위해 설정된다. 타이밍 민감성 패킷이 NDC(106)에 의해 수신되고, 검출되고 진행된 후, 평상 타이머가 클리어되고(252) NDC(106)에 의해 저장 또는 수신되는 다른 데이터 트래픽 모두가 속도 제한되고 네트워크 송신 경로(104)로 진행된다. 다음의 예측된 타이밍 민감성 패킷이 상당히 지연되거나 도착하지 않고 평상 타이머가 만료하는 경우에, NDC(106)에 의해 저장 또는 연속 수신되는 데이터 트래픽 모두가 속도 제한되고 네트워크 송신 경로(104)로 진행된다.
대안적으로, 정규 모드 타이머가 지정된 타이밍 민감성 패킷의 도착 예정시 만료하기 위해 설정될 수 있고 평상 모드 타이머가 정규 모드 타이머의 만료 설정 전에 설정된 시간에 설정될 수 있다.
상기 설명되고 도 2A-2C에 도시된 예에서, 10 Mbps 및 출력 데이터 1 Mbps에서 데이터를 수신하는 속도 변이는 NDC(106)내에서 대안적으로 결부될 수 있다. 기능성의 그런 구성 또는 재배열은 지정된 타이밍 민감성 패킷의 핸들링, 정규 모드 타이머의 동작, 평상 타이머 등에 대해 NDC(106)의 동작을 변경할 필요가 없다. 본 개시에서 설명된 예에 대해 가정된 기능성의 분할은 본 개시에서 명료성을 제공할 목적으로 대부분 선택된다. 네트워크 요소의 다른 논리적이고 물리적인 그룹핑 및 배열은 구현예 또는 환경에 따라 가능하다.
상기 설명되고 도 1-2C에 예시된 실시예에서, NTP(104)로의 데이터 송신은 사용된 특정한 속도 제한 방법을 기반으로 NTP(104)내의 버퍼 이용의 최악의 가정에 따라 조정된다. 즉, 데이터는 NTP(104)내의 데이터 버퍼가 최대-크기의 패킷을 수용하기 위해 필요한 것 이하로 된다고 가정하는 시간 기간 동안 조정된다. NDC(106)는 최대 크기의 패킷의 송신 시간를 기반으로 NTP(104)에 따라 최대 속도를 제한한다. 대안적으로, NDC가 NTP 버퍼 이용을 모니터할 수 있다. 그것은, NTP가 최대 크기의 패킷 이상을 저장할 수 있는 경우에, 유리해서, NTP에서 가용한 저장을 양호하게 이용한다. 어떤 실시예에서, NDC는 네트워크 송신 경로 내의 버퍼 이용을 추적하고 NTP 버퍼에서 추정된 데이터의 그 크기, 현재의 양 및 다음의 타이밍 민감성 패킷의 도착 예정 전에 남아있는 시간에 따라 들어오는 비-타이밍 민감성 패킷을 진행시킨다.
도 3B는 상기 직전의 문단에서 제시된 바와 같이, 네트워크 지연 제어기가 NTP내의 버퍼 이용을 추정하기 위해 구성되는 실시예를 예시한다. 네트워크 구성(300)은 NDC(320)를 포함하여, 버퍼 이용 추정기(325)의 사용을 통해 부분적으로 데이터 패킷들의 흐름을 NTP(330)로 제어한다. 본 예에서, NTP를 통한 최대 데이터 속도(T3)가 T1 및 T2의 최대 데이터 속도보다 적다고 가정한다. 패킷은 NDC(320)으로부터 NTP(330)로 송신될 때, 버퍼 이용 추정기(325)는, 패킷이 NTP(330)를 통해 전달할 때, NTP(330)에 저장된 패킷 데이터의 양을 추적할 수 있다. 버퍼 이용 추정기(325)의 현재 판독, NTP(330)의 송신 속도, 및 지정된 타임 민감성 패킷의 도착 예정 전에 남아있는 시간이 주어지면, NDC(320)는 데이터가 다음의 타임 민감성 패킷의 예측된 도착 시간에서 버퍼를 NTP(330)에서 저장하지 않는 것을 확정하기 위해 동작한다.
도 4A-4C는 추정에 비추어 보아 NTP 버퍼 이용 및 제어 패킷 흐름을 추정하기 위해 NDC에서 구현될 수 있듯이 처리 세트를 예시한다. 도 4A는 패킷이 타이밍 민감성 패킷의 예측된 도착 시간 및 추정된 NTP 버퍼 이용을 기반으로 NTP를 통해 수신 및 송신되는 처리를 도시한다. 도 4B는, 도 4A에 예시된 동작의 정규 모드가 유효할 때를 결정하기 위해 사용된 정규 모드 타이머 동작을 예시한다. 도 4C는 NTP의 현재 버퍼 이용이 전파 타이머에 의해 어떻게 추정되는 지를 도시한다.
일 실시예에서, 도 3B의 NDC(320)은 도 4A-4C의 처리를 구현한다. 동작에서 NDC가 패킷을 NTP로 진행하고 NTP 버퍼 이용의 추정을 유지한다. 다음의 설명에서 NTP 버퍼의 실제 용량이 NDC에 의해 반드시 고려할 필요는 없다. 또한, NTP의 용량이 최대 크기의 패킷에 필요한 최소일 때, NTP 버퍼 이용 알고리즘은 속도 제한 알고리즘과 같게 된다. 다음의 예에서, NDC가 NTP의 송신 속도뿐만 아니라 NTP의 크기를 확인하는 설계 파라미터를 포함한다고 가정한다. NTP의 순간 버퍼 이용은 전파 타이머의 현재 판독을 통해 추정될 수 있다. 패킷이 NTP로 NDC에 의해 송신될 때, 전파 타이머가 송신된 패킷의 크기에 따라 설정된다. 설정한 후에, 전파 타이머가 NTP의 송신 속도에 따라 카운트다운을 시작한다. 추가의 패킷이 NDC에 의해 송신될 때, 각 패킷의 크기가 전파 타이머의 현재 콘텐츠에 추가된다. 이 방법에서 NDC는 다음의 타이밍 민감성 패킷의 도착시 버퍼를 비우도록 확정하기 위해 NTP 버퍼를 클리어하도록 하는 평상 시간량(즉, NTP에 송신되는 추가의 패킷이 없는 간격의 길이)의 동작 추정을 유지한다.
도 4A에서, NDC는, 타이밍 민감성 패킷이 수신되었거나 큐에 저장되는 지를 결정한다(430). 타이밍 민감성 패킷이 수신되었거나 큐에 있는 경우에, 송신된다(470). 타이밍 민감성 패킷이 수신되지 않고 타이밍 민감성 패킷이 큐에 없는 경우에, NDC는 비-타이밍 민감성 패킷이 수신되었거나 큐에 존재하는 지를 보기 위해 확인한다(435). 비-타이밍 민감성 패킷이 수신되었고 비-타이밍 민감성 패킷이 큐에 없는 경우에, NDC는 타이밍 민감성 또는 비-타이밍 민감성 패킷(430 및 435)의 큐에서 수신 또는 존재를 계속 확인한다. 비-타이밍 민감성 패킷이 큐에 존재하는 경우에, NDC는, 패킷이 다음의 타이밍 민감성 패킷의 도착 전에 및 NTP 버퍼(440)의 오버플로우없이 NTP를 통해 송신될 수 있는 지를, 확인한다. 그렇게 하기 위해, NDC는 도 4C에 연결되어 하기에서 충분히 설명되는 송신될 다음의 타이밍 민감성 패킷의 패킷 크기(Ps) 및 전파 타이머(Pt)의 콘텐츠의 합을 NTP의 버퍼 크기(B크기)와 비교한다. 그 비교에서 수신된 패킷 크기(Ps)의 패킷을 NTP 버퍼(Pt)에 있도록 전파 타이머를 통해 이미 추정된 데이터에 추가하는 것이 버퍼 용량을 초과하는 지를 결정할 것이다. NDC는 버퍼를 클리어하는데 필요한 평상 시간(즉, NTP의 송신 속도로 분할된 Ps + Pt)으로 표현된 Ps 및 Pt의 합을 다음의 타이밍 민감성 패킷의 도착시까지의 시간(Te)과 비교한다(440). 어떤 실시예에서, Te는 정규 모드 타이머 상에 남아있는 시간과 같고 그 타이머의 동작이 도 4B에 예시된다. 어떤 실시예에서, 정규 모드 타이머는 다음의 타이밍 민감성 패킷의 예측된 도착 시간 예를 들어, 예측된 도착 시간 직전 또는 직후의 시간을 제외한 시간에서 만료한다. 어떤 실시예에서, 다음의 타이밍 민감성 패킷의 도착까지의 시간(Te)은 예를 들어, 정규 모드 타이머의 만료 전에 남겨진 시간으로부터 설정된 오프셋을 추가 또는 감산함으로써 정규 모드 타이머의 만료 전에 남겨진 시간으로부터 인출된다. 다른 실시예에서, 분리된 타이머는 다음의 타이밍 민감성 패킷의 도착할 때까지의 시간(Te)을 추적할 수 있다. Ps 및 Pt의 합이 B크기 이하이고(440) Te이하인 경우에, 비-타이밍 민감성 패킷이 NTP(450)로 진행된다. 도 2A의 단계(220)와 관련해서 상기 설명했듯이, 하나 이상의 패킷을 송신하기에 가용한 경우에 단계(450)에서 비-타이밍 민감성 패킷을 송신하는 것을 결정하기 위해 사용된 알고리즘은 다른 구성 및/또는 구현예에 대해 달라질 수 있다. 비-타이밍 민감성 패킷이 수신되었으나 큐에 아직 저장되지 않으므로(하나 이상의 그 패킷이 큐에 이미 존재하기 때문이 아니라), Ps 및 Pt의 합이 B크기 이상이거나 Te 이상이고(440) 및 확정 결과가 단계(435)에서 얻어지는 경우에, 수신된 패킷은 저장을 가용하게 하는 경우에 큐에 저장되고 저장을 가용하게 하지 않는 경우에 버려진다(460).
도 4B는 정규 모드 타이머의 개시를 제어하는 처리를 예시한다. 단계(445)에서 타이밍 민감성 패킷이 수신되었는 지를 결정한다. 그 패킷을 수신할 때마다, 정규 모드 타이머가 개시된다(455).
양호하게는 NDC에 사용된 타이머 설정 및/또는 결정 기준은 예측된 타임 민감성 패킷의 도착 시간 변화를 허여하기 위해 선택된다. 정규 모드 타이머가 만료하는 경우에, 그 상태는 다음의 타이밍 민감성 패킷이 예측시 거의 도착하지 않는 도 3B 및 4A-4C에 도시된 예에서 표시하여, 타이머 만료가 타임아웃과 같다. 일 실시예에서, 타임아웃은 디폴트 상태를 야기하여 Te가 예를 들어, 연속 타이밍 패킷의 수신에 의해 정규 타이머의 재시작까지 Ps 및 Pt의 합보다 크다고 가정하고, 단계(435, 440, 및 450)의 동작에 의해 수신되거나 큐에 존재하는 비-타이밍 민감성 패킷의 송신은 NTP의 입력 버퍼가 너무 꽉차지 않는 한 계속될 것이다. 양호하게는, 도 3B-4C에 도시된 예에서, 정규 모드 타이머가 다음의 예측된 타이밍 민감성 패킷의 시간보다 약간 큰 값으로 설정되어 잔류의 네트워크 지터를 허여한다. 어떤 실시예에서, 타임아웃의 경우에(즉, 예측된 타이밍 민감성 패킷의 도착 전에 정규 모드 타이머의 만료), 정규 모드 타이머 또는 제 2 타이머는 타이밍 민감성 패킷을 도착하게 하는 공지되거나 예측된 주기성을 기반으로 도착하는 다음의 타이밍 민감성 패킷의 예측된 도착 시간에 기초하여 개시될 수 있다. 그런 실시예에서, 정규 모드 타이머가 재시작되거나 제 2 타이머가 시작되어, 정규 모드 타이머를 원래 설정되게 하는 타이밍 민감성 패킷후에 도착하는 타이밍 민감성 패킷의 도착의 예측에서 정규 동작을 복원한다. 그런 구성은 예측된 타이밍 민감성 패킷이 도착하지 않는 경우에 정규 동작을 가정할 수 있는 데, 왜냐하면 그것이 드롭되거나 그렇지않으면 업스트림 네트워크의 변이를 손실시키기 때문이다.
도 4C는 도 4A-4C에 도시된 예에서 전파 타이머의 동작을 예시한다. 패킷이 도 4A의 단계(450 및/또는 470)에서처럼 NTP(480)으로 진행될 때, 패킷의 비트수가 전파 타이머(495)의 콘텐츠에 추가된다. 전파 타이머의 콘텐츠가 제로보다 클 때(485), 전파 타이머는 NTP의 최대 송신 속도와 같은 속도로 감소된다(490). 전파 타이머의 콘텐츠는 NTP에 현재 버퍼되고 NTP를 통해 전달하는 데이터의 양을 표시한다. NTP의 송신 속도에 의한 분할시 전파 타이머의 콘텐츠는 데이터 모두가 NTP를 통해 전달하는 남아있는 시간을 표시한다.
일부의 네트워크 구성은 복수의 지정된 타이밍 민감성 패킷 스트림을 전송할 수 있다. 양호하게는, 하나 이상의 타이밍 민감성 패킷 형태가 지정되고 NDC에 의해 인식될 때, 다른 타이밍 민감성 패킷 형태는 서로에 대해 우선순위로 된다. 또한, 정규 모드 및 평상 모드 타이머를 사용하는 실시예, 예를 들어, 도 1-2C에서, 분리된 정규 모드 타이머 및 분리된 평상 모드 타이머는 NDC에 의해 인식된 각 지정된 타이밍 민감성 패킷에 대해 유지된다. 낮은 우선순위의 타이밍 민감성 패킷의 평상 윈도우가 높은 우선순위의 타이밍 민감성 패킷의 평상 윈도우와 일치할 때, 낮은 우선순위의 패킷은 NDC에 의해 저장되고, 높은 우선순위의 패킷이 수신되고 NTP로 진행된 후 또는 높은 우선순위의 평상 모드 타이머가 만료된 후, 보내진다. NDC가 NTP의 버퍼 이용의 추정을 유지하는 경우에, 낮은 우선순위의 타이밍 민감성 패킷은, 높은 우선순위의 패킷의 도착 전에 패킷이 NTP를 통해 전달되지 않는 NDC에 의해서 결정되는 경우에만, 저장된다.
일부의 네트워크 프로토콜은 목적지 네트워크 경로의 용량 및 컨제스천(congestion) 파라미터에 따라 들어오는 트래픽 속도를 적용한다. 이더넷에서, 그것은 포우즈 패킷을 사용해서 수행될 수 있다. 이더넷 네트워크 내의 수신 노드는 수신된 데이터를 즉시 또는 가까운 미래에 핸들링할 수 없는 상태를 검출할 때, 그 노드가 포우즈 패킷을 발생하는 노드로 보내어 데이터 패킷을 발생한다. 시간 간격은 패킷이 수신 노드에 보내지 않는 시간 길이를 표시하기 위해 포우즈 패킷에 특정화된다. 포우즈 패킷이 네트워크에서 각종 노드를 통해 분포된 데이터 버퍼를 더 효과적으로 이용하기 위해 사용될 수 있다. 일반적으로, 도 1에 도시된 실시예에서 포우즈 패킷은, 지정된 타이밍 민감성 패킷의 송신시 포우즈 패킷을 시간재어서 제 1 노드(101)를 포우즈되지 않도록 하는 경우에, 지정된 타이밍 민감성 패킷의 네트워크 지연에 거의 영향을 미침이 없이 제 1 노드(101)로 NDC(106)에 의해 송신될 수 있다.
상기 설명된 실시예는 속도 송신 지터의 발생을 처리하는 것과 타이밍 민감성 패킷 상의 그 결과에 촛점을 둔다. 그러나, 네트워크 지연 제어기는 다수의 네트워크 트래픽 소스가 공통 네트워크 포트를 통해 송신할 때 야기된 타이밍 민감성 패킷에 대해 조정 지연을 거의 제거하기 위해 추가로 및/또는 대신해서 사용될 수 있다. 본원에서 사용했듯이, "조정 지연"이라는 용어는 제 1 송신 노드에 의해 보내진 데이터의 즉시 노드 또는 공통 네트워크 포트를 통해 송신 지연을 말하는 데, 왜냐하면 즉시 노드 또는 공통 네트워크 포트는 제 2(또는 복수의 다른) 송신 노드에 의해 같은 즉시 노드 또는 공통 네트워크 포트를 통해 보내진 데이터를 사용중 진행시키기 때문이다. 통상적으로, 그 조정 지연은 높은 우선순위의 패킷 형태가 특정한 네트워크 포트 외부로 송신되도록 향하는 패킷 큐 상부에서 항시 놓여지는 우선순위화 방식을 통해 선택된 패킷에 대해 최소로 된다. 예를 들어, 이더넷은 가상 근거리 통신망(VLAN)을 사용해서 그 우선순위화를 제공할 수 있다. 그러나, 우선순위화 방법에서도 타이밍 민감성 패킷은 특정한 네트워크 출력 포트의 조정 상태에 따라 임의의 지연을 야기한다. 잠재성 가변 조정 지연에 의해 야기된 임의의 지연은 "조정 지터"로 본원에서 불리운다. 특히, 높은 우선순위의 패킷은, 다른 패킷 송신이 이미 진행중인 동안, 네트워크 포트에 의해 송신되도록 하는 경우에 지연된다.
도 5에서 네트워크 구성(500)은 제 1, 2 및 3 노드(501, 502 및 503)가 네트워크 패킷 데이터를 네트워크 흐름 제어기(510)로 송신하기 위해 결합되는 것으로 도시된다. 네트워크 흐름 제어기(510)는 허브, 스위치 및 라우터와 같은 네트워크 장비에서 공통적으로 발견되는 네트워크 기능성을 포함한다. 도 5에서 네트워크 흐름 제어기(510)는 네트워크 송신 경로(520)에 결합된 출력 네트워크 포트로 제 1, 2 및 3 노드(501, 502 및 503)에 의해 송신된 네트워크 패킷들의 흐름을 관리한다. 그러므로, 도 5에서, 네트워크 흐름 제어기(510) 및 NTP(520)를 통해 네트워크 패킷을 제 4 노드(530)에 모두 송신할 수 있다. 특정한 형태에 따라, 네트워크 흐름 제어기는 일부의 포트로부터 네트워크 트래픽을 나머지 포트로 조종할 수 있다. 예를 들어, 이더넷 허브는 트래픽을 조종할 수 없다. 대신에, 허브의 하나의 포트에서 수신된 네트워크 트래픽은 허브 상의 나머지 포트 모두에서 간단히 출력된다. 스위치 및 라우터와 같은 나머지의 네트워크 흐름 제어기는 특정한 목적지 어드레스를 포함하는 데이터 트래픽을, 같은 소스 어드레스를 갖는 데이터 트래픽을 발생시키는 포트에 대해 조종하기 위해 "학습(learn)한다", 다수의 다른 모드 및 트래픽을 조종하는 방법은 실질적인 네트워크 설비에서 사용된다. 네트워크 흐름 제어기(510)는 루팅 논리 함수(515)를 포함하여, 그 함수는 네트워크 트래픽을 조종하는 조정 방법을 포함할 수 있다. 네트워크 흐름 제어기(510)는 네트워크 지연 제어기(540)도 포함하여 지정된 타이밍 민감성 패킷의 송신을 위해 조정 지터를 최소화한다. 루팅 논리는 제 1, 2 및 3 노드(501, 502 및 503)로부터 트래픽을 NDC(540)로 선택적으로 결합한다. 네트워크 흐름 제어기(510)에 도시된 특정한 함수 분할은 배타적이지 않다. 사실상, NDC(540)을 결합시킨 네트워크 흐름 제어기(510)의 다수의 대안 구조가 가능하다. 동작에서, 거의 임의의 패킷 트래픽은 제 1, 2 및 3노드(501, 502 및 503)에 의해 발생되고 네트워크 흐름 제어기(410) 및 NTP(520)를 통해 제 4노드(530)에 전송된다. NDC(540)는 네트워크 흐름 제어기(510)에 의해 수신된 패킷중에서 지정된 타이밍 민감성 패킷을 검출한다. 타이밍 민감성 패킷의 검출시, 그것은 NTP(520)를 통해 제 4노드(530)으로 송신되기 위해 패킷의 큐 개시부에 위치된다. 대략 같은 시간에, 정규 모드 타이머는 다음의 대응하는 지정된 타이밍 민감성 패킷이 네트워크 흐름 제어기(510)에 의해 송신되도록 가용하게 되는 시간의 간격에 따라 만료하기 위해 설정된다. 정규 모드 타이머를 사용해서, NDC(520)는, 다음의 타이밍 민감성 패킷이 도착할 때, NTP(520) 및 제 4노드(530)로의 다른 패킷 송신이 시작하거나 진행중이 아닌 것을 확정한다. 네트워크 흐름 제어기(510)로부터 제 4노드(530)까지의 NTP(520)의 송신 속도가 네트워크 흐름 제어기(510)의 송신 속도보다 적은 경우에, NDC가 네트워크 경로에서 송신 속도 감소에 의해 야기된 지터를 또한 보상할 수 있다.
도 6A-6D는 네트워크 흐름 제어기(510)내의 조정(arbitration) 지터 및 NTP(520)에 관련된 전달 지터를 최소화하는 NDC(540)의 동작을 예시한다. NTP에 관련된 전달 지터는 NTP의 송신 속도가 상기에서 논의했듯이 NTP에 대한 네트워크 흐름 제어기의 송신 속도보다 적은 때를 도시한 것이다. 도 6A는 복수의 입력 포트(예를 들어, 도 5의 노드 1, 2, 3 등)들 중 하나로부터 수신된 패킷이 NTP를 통해 송신되기 위해 패킷 큐에 추가되는 처리를 도시한다. 도 6B는 도 6A 및 6C에 예시된 동작의 정규 모드가 유효한 때를 결정하기 위해 사용된 정규 모드 타이머의 동작을 예시한다. 도 6C는 패킷이 송신하기 위해 큐로부터 NTP를 통해 당겨지는 처리를 도시한다. 도 6D는 NTP에서 버퍼 이용의 현재 레벨이 전파 타이머에 의해 어떻게 추정되는 지를 도시한다.
도 6A에 도시된 바와 같이, NDC는 패킷의 수신 여부를 검출한다(605). 수신된 패킷이 타이밍 패킷이라면(610), 패킷은 NTP(615)로 진행하기 위해 패킷 큐의 상부에 놓여지고, 정규 노드 타이머가 설정된다(도 6B의 620 및 625). NTP의 송신 속도가 NTP에 대해 네트워크 흐름 제어기 인터페이스의 송신 속도보다 같거나 크다면, 전파 타이머는 NDC에 영향을 미치지 않고 포함될 필요가 없다. 수신된 패킷이 타이밍 패킷(610)이 아니라면, 수신된 패킷은 큐에 저장되거나 큐가 꽉찬 경우에는 버려진다(660).
도 6C는 패킷이 큐로부터 당겨지고 도 5 및 6A-6B에 도시된 예에서 송신되는 처리를 예시한다. 도 6A 및 6B의 처리와 병렬로 동작하는 도 6C의 처리에서, 송신 큐는 비었는 지를 결정하기 위해 확인된다(645). 그것이 비어있지 않다면, NDC는 큐의 상부 패킷이 타이밍 민감성 패킷(647)인지를 결정한다. 상부 패킷이 타이밍 민감성 패킷이라면, 그것이 NTP를 통해 송신된다(655). 상부 패킷이 타이밍 민감성 패킷이 아니라면, 큐의 패킷이 NPT(650)의 버퍼를 오버플로함이 없이 다음의 예측된 타이밍 민감성 패킷의 도착 전에 NTP를 통해 충분히 전달될 수 있는 지를 결정한다(650). 그렇다면, 큐로부터의 비-타이밍 민감성 패킷이 송신되고(655) 송신 큐는 그것이 비었는지를 결정하기 위해 다시 확인된다(645). 큐의 패킷이 NPT(650)의 버퍼를 오버플로함이 없이 다음의 예측된 타이밍 민감성 패킷의 도착 전에 NTP를 통해 충분히 전달될 수 없다고 결정되는 경우에(650), 패킷이 그 시간에 송신되지 않는다.
도 6D는 도 4A-4C에 도시된 예에서 전파 타이머의 동작을 예시한다. 패킷이 NTP(680)에 진행될 때, 도 6C의 단계(655)처럼, 패킷의 비트수가 전파 타이머의 콘텐츠에 추가된다(695). 전파 타이머의 콘텐츠가 제로보다 큰 때(685), 전파 타이머가 NTP의 최대 송신 속도와 같은 속도로 감소된다(690). 전파 타이머의 콘텐츠는 NTP에 현재 버퍼되고 NTP를 통해 전달하는 데이터의 양을 표시한다. 전파 타이머의 콘텐츠는, NTP의 송신 속도에 의한 분할시, 데이터 모두가 NTP를 통해 전달하는 남아있는 시간을 표시한다.
네트워크 지연 제어기로 하여금 주어진 네트워크 송신 경로의 가용한 대역폭을 효과적으로 사용하기 위해서는, NDC가 네트워크 송신 경로의 최대 처리 용량의 정확한 추정을 합리적으로 갖는 것이 중요하다. 송신 효율의 추가 향상은, NDC가 NTP에서 가용한 저장의 거의 정확한 추정을 갖는 경우에, 얻어질 수 있다. 그러나, 실질적으로, 특정한 네트워크 송신 경로의 최대 송신 속도 및 버퍼 용량이 임의적으로 되고 각종 네트워크 구성에 대한 네트워크 지연 제어기의 일반적인 목적이며 광범위한 배치를 예측할 수 없다.
도 7은 주어진 NTP의 대역폭 및 입력 버퍼 크기를 자동 추정하기 위해 사용된 링크 대역폭 분석기(LBA)를 포함하는 네트워크 구성(700)을 도시한다. 네트워크 구성(700)은 제 1 NDC(710)에 결합된 제 1 노드(705) 및 제 2 NDC(740)에 결합된 제 2 노드(720)를 포함한다. 도 7에 도시된 바와 같이, 제 2 NDC(740)는 LBA(742)를 포함한다. NTP(760)의 분석 동안, 거의 모든 노드 1 및 노드 2(705 및 720)가 NTP(760)를 통해 전달하지 못한다. LBA(742)는 제 2 NDC(740) 네트워크 인터페이스의 최대 송신 속도에서 패킷의 시퀀스를 NTP(760)를 통해 제 1NDC(710)로 송신함에 의해 동작을 시작한다. 도 8은 제 2 NDC(740)에 의해 송신된 13개 패킷 시퀀스를 도시한다. 양호하게는, NTP(760) 버퍼 추정의 정확성을 증가시키기 위해서는, 송신된 패킷들은 적고 크기가 같다. 패킷의 시퀀스는 NTP(760)에 관련된 버퍼가, NTP(760)의 송신 속도가 NDC(740)의 그것보다 낮은 경우에, 오버플로우되는 것을 확정하므로 충분히 크다. 송신된 각 패킷은 시퀀스 번호를 포함하고, 제 2 NDC(740)에 보내진 일련의 시험 패킷 내에서 각 특정한 패킷의 위치를 표시한다. LBA(712)는 제 2 NDC(740)으로부터 수신된 각 패킷의 시퀀스 번호를 검사한다. 실종한 시퀀스 번호가 모든 송신된 패킷에서 발견되지 않는다면, NTP(760)의 대역폭은 제 2 NDC(740) 네트워크 인터페이스의 최대 송신 속도를 지지할 수 있는 것으로 가정한다. 실종한 수신된 시퀀스가 LBA(712)에 의해 검출되는 경우에, NTP(760)의 최대 송신 속도가 제 2 NDC(740) 네트워크 인터페이스의 그것보다 적다고 가정한다. 도 8에서, 시퀀스 번호 5(820), 8(830) 및 11(840)를 갖는 패킷은 제 1 NDC(710)에 의해 수신되지 않는 것을 표시하기 위해 음영처리된다. 실종한 시퀀스 번호가 발견된 때, 제 1 NDC에서 LBA(712)는 시퀀스 번호가 실종되었다는 것을 발견하기 전에 수신된 패킷들의 수를 검출하여, 패킷 시퀀스(800)에서 NR로 표시된다. 도 8에 도시했듯이, 제 2 NDC(740)에 의해 송신된 패킷의 총수 마이너스 시퀀스 번호가 실종되었다고 발견되기 전에 수신된 패킷들의 수는 NT로 지정된다. 제 1 NDC(710)의 LBA(712)는 원단(far end)에 성공적으로 송신되는 서브세트NT내의 패킷들의 수인 NT 마이너스 실종한 패킷들의 수NM에 의해 NT를 제산함에 의해 NTP(760)의 최대 송신 속도 RNTP와 비교된 제 2 NDC(740) 최대 송신 속도 RNDC의 근사비PR를 발견하며, PR= NT /(NT -NM)으로 된다. 도 8에 도시된 예에서, NT=9이고, 그중 3은 원단에 도착하지 않고(즉, NM=3), PR= 9/(9-3)=1.5로 된다. 즉, NDC의 최대 송신 속도가 NTP의 그것의 1.5배이고, 즉, NTP 입력 버퍼가 충전되고 일련의 제 1 패킷이 드롭된 후에 NTP로 NDC에 의해 송신된 3개 패킷마다 2개 패킷을 송신할 수만 있는 NDC로 되게 한다. 비PR는 NTP(760)가 상대적으로 낮은 최대 송신 속도를 갖는 경우에 NDC의 속도 제한을 위해 및 NTP(760)로 진행되는 패킷의 전달 시간을 추정하기 위해 사용된다.
NTP(760)의 근사 입력 버퍼 크기는 송신된 시퀀스의 평균 패킷 크기에 의해 승산된 NR - (NR /PR)과 같다. 그 식은, 그 버퍼가 버퍼를 채우는 주기 TR 동안(즉, NTP의 최대 송신 속도RNTP에 의해 승산된 TR) NTP를 통해 송신된 데이터의 양보다 적은 제 1 분실 패킷(즉, 송신된 시퀀스의 평균 패킷 크기에 의해 승산된 NR)에 의해 표시했듯이 꽉차기 전에, NTP로 보내진 데이터의 양과 같게 되도록 근사 버퍼 크기를 설정함에 의해 인출될 수 있다. 그것은 식 B크기 = NR *AVG SIZE - TR * RNTP로 된다. 주기TR 은 평균 패킷 크기에 의해 패킷들의 수NR를 승산해서 발견될 수 있어서, 버퍼를 채우는 기간 동안 NTP로 NDC에 의해 보내진 근사 데이터의 양을 얻고, NDC의 최대 송신 속도에 의해 그 결과를 제산하는 즉, TR = NR * AVG SIZE/RNDC이다. 패킷 내부 지연과 같은 다른 네트워크 파라미터와 같은 다른 네트워크 파라미터의 허용은 또한 고려될 수 있다. 버퍼 크기에 대한 상기 식에서 TR의 후자를 대치하면, BSIZE=NR * AVG SIZE - (NR * AVG SIZE/RNDC )* RNTP로 되어, RNTP/RNDC 를 PR로 대치함에 의해 BSIZE=NR * AVG SIZE - (NR * AVG SIZE)/PR로 되어, BSIZE=[NR -(NR /PR ) * AVG SIZE로 단순화된다. 도 8에 도시된 패킷 시퀀스에서, NR이 4이고, 비PR이 1.5와 같고 NTP(750)의 근사 입력 버퍼 크기가 송신된 시퀀스의 평균 패킷 크기에 의해 승산된 1.333과 같다. 그 추정된 비 PR 및 그 추정된 버퍼 크기가 제 2 NDC(740)에 제공된다. 그러므로, 링크 대역폭 분석기의 결과가 주어지면, NDC는 속도 제한 형태의 방법(도 1-2C에서 도시된 것과 같은) 또는 NTP 버퍼 관리 형태의 방법(도 3-4C에서 도시된 것과 같은)과 같은 네트워크 지연 제어 방법에서 사용될 수 있는 추정된 네트워크 파라미터를 구비하고 있다.
타이밍 민감성 패킷을 지정하는 동적 방법은 패킷 간격 프로토콜(PIP)을 통해 제공된다. PIP를 사용해서, 지정된 타이밍 민감성 패킷은 네트워크 지연 제어를 결부시키는 네트워크의 배치에 앞서 주기적이거나 정의될 필요가 없다. PIP 데이터 패킷의 포맷은 도 9에 도시된다. 도 9에 도시된 PIP 패킷 포맷(900)은 어드레스 정보 필드(902)를 포함하고, 그 필드는 데이터 패킷의 목적지 및 원점에 대해 식별 데이터를 포함한다. PIP 패킷 포맷(900)에 포함되는 것은 PIP 패킷을 다른 패킷과 구별하기 위해 사용된 PIP 형태의 필드(904)이다. PIP 식별자 필드(906)는 특정한 함수 또는 적용과 관련된 PIP 패킷을 다른 PIP 패킷과 구별하기 위해 사용된다. PIP 패킷 포맷(900)에 포함된 우선순위 필드(908)는 각종 PIP 패킷의 네트워크 지연 제어를 우선순위화하기 위해 사용된다. 패킷 간격 필드(910)는 같은 PIP 식별자를 갖는 다른 패킷이 송신되는 시간에서 주기를 표시한다. 패킷의 데이터 또는 페이로드는 데이터 필드(912)에 포함될 수 있다. 동작에서, PIP 필드가 관리되어, 예를 들어, 적용된 패킷과 연관된 PIP 식별자의 할당은 같은 네트워크상에 다르게 적용한 것과 관련된 패킷의 PIP 식별자와 일치하지 않는다. 양호하게는 최소 간격이 PIP에서 특정화되어 지정된 타이밍 민감성 패킷이 주어진 네트워크 경로에 대해 가용한 대역폭의 큰 퍼센티지를 수락 불가능하게 소비할 수 없다.
각종 요소 및 실시예는 스위치, 허브, 라우터 및 게이트웨이와 같은 네트워 크 흐름 제어기로 결합 및 결부되어 임의의 범용 네트워크 적용에 알맞은 NDC의 네트워크를 제공한다. 일반적으로, NDC는, 제 1지정된 타이밍 민감성 패킷을 검출한 후, 연속 지정된 타이밍 민감성 패킷이 외부의 네트워크 트래픽에 의해 거의 지연되지 않는다는 것을 확정하기 위해 동작하여, 그렇지않으면 포트 또는 네트워크 송신 경로에 저장되고 그것을 통해 전달된다. 그러므로, NDC는 타이밍 민감성 패킷이 방해하지 않고 전달할 수 있는 시간의 상대적으로 적은 주기를 제공하고 최소의 예측가능한 전달 지연을 갖는다. NDC를 사용해서, 외부의 네트워크 트래픽이 NDC 및 네트워크 송신 경로 송신 용량의 직렬 결합의 0퍼센트에서 100퍼센트로 변할 때조차도, 네트워크 송신 경로를 통해 타이밍 민감성 패킷의 측정된 평균 지연 및 측정된 평균 지터는 거의 일정하다.
타이밍 민감성 패킷을 예측하고 검출하고 결과적으로 타이머를 사용해서 NTP로 패킷 흐름을 제어하는 것이 개시되었다. 다음에 지정된 타이밍 민감성 패킷이 예측될 때, 네트워크 흐름 제어기로부터의 패킷 출력이 조절 및 불활성화될 수 있다. 예를 들어, 정규 모드 타이머가 다음의 지정된 타이밍 민감성 패킷의 예측된 도착 시간보다 약간 늦게 만료하기 위해 설정될 수 있거나 평상 타이머와 같은 다른 타이머와 결부해서 사용될 수 있다. 어떤 실시예에서, 정규 모드 타이머 또는 평상 타이머의 만료 전에, 사용되는 경우에, 지정된 타이밍 민감성 패킷이 아닌 송신될 패킷은 타이머의 상태, 송신될 패킷의 크기 및 패킷의 추정된 전달 시간에 대해 평가된다. 또한, 속도 제한을 기반으로 NDC는 버퍼 이용 추정을 사용하여 대응하는 NTP의 효율 또는 처리량를 개선한다.
앞선 실시예가 이해의 명료성을 위해 더 상세하게 설명되었지만, 본 발명은 제공된 상세한 설명을 제한되지 않는다. 본 발명을 수행하는 다수의 대안의 방법이 있다. 그 개시된 실시예가 예시를 위한 것이고 제한하려는 것이 아니다. 다수의 변경, 변형 및 대체는 첨부된 청구항에서 정의된 바와 같이 본 발명의 범위를 벗어나지 않고 본 기술에 숙련자에 의해 이루어질 수 있다.

Claims (52)

  1. 네트워크 트래픽을 제어하는 방법에 있어서:
    네트워크 송신 경로를 통해 송신될 복수의 패킷들을 모니터링하는 단계;
    타이밍 민감성 패킷(timing sensitive packet)이 상기 네트워크 송신 경로를 통해 송신을 위해 가용하게 되는 시간을 예측하는 단계; 및
    상기 네트워크 송신 경로가 상기 예측된 시간과 연관된 시간에 상기 타이밍 민감성 패킷 이외의 패킷들에 의해 점유되지 않도록 상기 예측된 시간에 따라 상기 복수의 패킷들을 제어하는 단계를 포함하는, 네트워크 트래픽 제어 방법.
  2. 제 1 항에 있어서, 상기 네트워크 송신 경로의 최적 데이터 속도에 따라 송신될 상기 복수의 패킷들의 속도를 제한하는 단계를 더 포함하는, 네트워크 트래픽 제어 방법.
  3. 제 1 항에 있어서, 상기 타이밍 민감성 패킷은 타이밍 패킷을 포함하는, 네트워크 트래픽 제어 방법.
  4. 제 1 항에 있어서, 상기 예측된 시간과 연관된 상기 시간은 상기 예측된 시간에 기초하여 결정된 시간 윈도우(time window)를 포함하고, 상기 시간 윈도우는 타이머와 연관되고, 상기 시간 윈도우의 시작은 상기 타이머를 설정하는 것과 연관되고, 상기 시간 윈도우의 종료는 상기 타이머의 만료와 연관되는, 네트워크 트래픽 제어 방법.
  5. 제 4 항에 있어서, 상기 타이밍 민감성 패킷이 상기 예측된 시간에 도착하지 않는 경우에, 상기 시간 윈도우를 연장하는 단계를 더 포함하는, 네트워크 트래픽 제어 방법.
  6. 제 1 항에 있어서, 상기 네트워크 송신 경로에 대한 상기 패킷들의 흐름을 제어하는 단계는, 상기 예측된 시간 전에 상기 네트워크 송신 경로와 연관된 메모리를 클리어(clearing)하는 단계를 포함하는, 네트워크 트래픽 제어 방법.
  7. 삭제
  8. 제 1 항에 있어서, 상기 네트워크 송신 경로에 대한 상기 패킷들의 흐름을 제어하는 단계는, 상기 예측된 시간과 연관된 시간 윈도우 동안 상기 타이밍 민감성 패킷 이외의 패킷들이 전송되지 못하도록 하는 단계를 포함하는, 네트워크 트래픽 제어 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 제 1 항에 있어서, 상기 네트워크 송신 경로에 대한 상기 패킷들의 흐름을 제어하는 단계는, 상기 네트워크 송신 경로의 대역폭을 상당히 초과하는 것을 피하기 위해 상기 네트워크 송신 경로의 대역폭을 결정하고 상기 네트워크 송신 경로로의 데이터의 송신을 조절하는 단계를 포함하거나, 상기 네트워크 송신 경로를 통해 복수의 시험 패킷들을 전송하는 단계를 포함하는, 네트워크 트래픽 제어 방법.
  15. 삭제
  16. 제 1 항에 있어서, 상기 네트워크 송신 경로에 대한 상기 패킷들의 흐름을 제어하는 단계는, 상기 네트워크 송신 경로와 연관된 최대 데이터 송신 속도를 근사화하는 단계를 포함하는, 네트워크 트래픽 제어 방법.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 제 1 항에 있어서, 상기 네트워크 송신 경로에 대한 상기 패킷들의 흐름을 제어하는 단계는, 상기 네트워크 송신 경로와 연관된 버퍼의 버퍼 크기를 결정하는 단계를 포함하는, 네트워크 트래픽 제어 방법.
  25. 제 24 항에 있어서, 상기 버퍼 크기를 결정하는 단계는:
    송신용 네트워크 송신 경로로의 송신 노드로부터 상기 네트워크 송신 경로를 통해 수신 노드로 알려진 속도로 일련의 시험 패킷들을 송신하는 단계;
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하는 지를 결정하는 단계; 및
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하지 않는 경우에:
    도착하지 않은 상기 일련의 시험 패킷들에서 제 1 분실 패킷을 식별하는 단계;
    얼마나 많은 패킷들이 상기 일련의 시험 패킷들 내의 상기 제 1 분실 패킷에 앞서는지를 결정하는 단계; 및
    얼마나 많은 패킷들이 상기 일련의 시험 패킷들 내의 상기 제 1 분실 패킷에 앞서는지에 적어도 부분적으로 기초하여 상기 버퍼 크기를 근사화하는 단계를 포함하는, 네트워크 트래픽 제어 방법.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 제 1 항에 있어서, 상기 네트워크 송신 경로에 대한 상기 패킷들의 흐름을 제어하는 단계는, 상기 네트워크 송신 경로와 연관된 버퍼의 버퍼 크기를 결정하고, 상기 버퍼 크기에 적어도 부분적으로 기초하여 시간 윈도우를 설정하거나, 상기 버퍼에서 현재 들어오는 패킷 길이 및 데이터의 양에 기초하여 시간 윈도우를 동적으로 조절하는 단계를 포함하는, 네트워크 트래픽 제어 방법.
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 제 1 항에 있어서, 상기 타이밍 민감성 패킷은, 다음의 타이밍 민감성 패킷이 가용하게 되는 시간을 표시하는 필드, 또는 상기 타이밍 민감성 패킷을 비-타이밍 민감성 패킷들로부터 구별하는데 이용되는 필드를 포함하는, 네트워크 트래픽 제어 방법.
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 네트워크 트래픽을 제어하는 시스템에 있어서:
    복수의 패킷들을 네트워크 송신 경로를 통해 송신하는 인터페이스;
    상기 인터페이스에 결합된 네트워크 지연 제어기로서:
    네트워크 송신 경로를 통해 송신될 복수의 패킷들을 모니터링하고;
    타이밍 민감성 패킷이 상기 네트워크 송신 경로를 통해 송신을 위해 가용하게 되는 시간을 예측하고;
    상기 네트워크 송신 경로가 상기 예측된 시간과 연관된 시간에서 상기 타이밍 민감성 패킷 이외의 패킷들에 의해 점유되지 않도록 상기 예측된 시간을 비추어 상기 네트워크 송신 경로에 대한 패킷들의 흐름을 제어하도록 구성된, 상기 네트워크 지연 제어기를 포함하는, 네트워크 트래픽 제어 시스템.
  46. 네트워크 트래픽을 제어하고, 컴퓨터 명령들을 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 컴퓨터 명령들은:
    네트워크 송신 경로를 통해 송신될 복수의 패킷들을 모니터링하고;
    타이밍 민감성 패킷이 상기 네트워크 송신 경로를 통해 송신을 위해 가용하게 되는 시간을 예측하고;
    상기 네트워크 송신 경로가 상기 예측된 시간과 연관된 시간에서 상기 타이밍 민감성 패킷 이외의 패킷들에 의해 점유되지 않도록 상기 예측된 시간을 비추어 상기 네트워크 송신 경로에 대한 패킷들의 흐름을 제어하는 것인, 컴퓨터 판독 가능한 기록 매체.
  47. 네트워크 송신 경로와 연관된 최대 데이터 송신 속도를 근사화하는 방법에 있어서:
    송신용 상기 네트워크 송신 경로로의 송신 노드로부터 수신 노드로 상기 네트워크 송신 경로를 통해 알려진 속도로 일련의 시험 패킷들을 송신하는 단계;
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하는 지를 결정하는 단계; 및
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하지 않는다고 결정된 경우에:
    상기 수신 노드에서 수신된 상기 일련의 시험 패킷들에서 제 1 분실 패킷을 식별하는 단계;
    상기 제 1 분실 패킷 및 상기 제 1 분실 패킷을 순서대로 따르는 상기 일련의 시험 패킷을 포함하는 서브세트 내의 패킷들의 수를 결정하는 단계; 및
    상기 서브세트 내의 패킷들의 총수와 상기 수신 노드에 도착된 상기 서브세트 내의 패킷들의 수를 비교하여 상기 네트워크 송신 경로와 연관된 상기 최대 데이터 송신 속도를 근사화하는 단계를 포함하는, 최대 데이터 송신 속도 근사화 방법.
  48. 네트워크 송신 경로와 연관된 최대 데이터 송신 속도를 근사화하는 시스템에 있어서:
    송신용 상기 네트워크 송신 경로로의 송신 노드로부터 수신 노드로 상기 네트워크 송신 경로를 통해 알려진 속도로 일련의 시험 패킷들을 송신하도록 구성된 송신 인터페이스; 및
    모든 패킷들이 상기 송신 노드에 도착된 일련의 시험 패킷들을 포함하는지를 결정하고, 모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하지 않는다고 결정된 경우에:
    상기 수신 노드에서 수신된 상기 일련의 시험 패킷들에서 제 1 분실 패킷을 식별하는 단계;
    상기 제 1 분실 패킷 및 상기 제 1 분실 패킷을 순서대로 따르는 상기 일련의 시험 패킷을 포함하는 서브세트 내의 패킷들의 수를 결정하는 단계; 및
    상기 서브세트 내의 패킷들의 총수와 상기 수신 노드에 도착된 상기 서브세트 내의 패킷들의 수를 비교하여 상기 네트워크 송신 경로와 연관된 상기 최대 데이터 송신 속도를 근사화하도록 구성된 프로세서를 포함하는, 최대 데이터 송신 속도 근사화 시스템.
  49. 네트워크 송신 경로와 연관된 최대 데이터 송신 속도를 근사화하고, 컴퓨터 명령들을 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 컴퓨터 명령들은:
    송신용 상기 네트워크 송신 경로로의 송신 노드로부터 수신 노드로 상기 네트워크 송신 경로를 통해 알려진 속도로 일련의 시험 패킷들을 송신하고;
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하는 지를 결정하고; 및
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하지 않는다고 결정된 경우에:
    상기 수신 노드에서 수신된 상기 일련의 시험 패킷들에서 제 1 분실 패킷을 식별하고;
    상기 제 1 분실 패킷 및 상기 제 1 분실 패킷을 순서대로 따르는 상기 일련의 시험 패킷을 포함하는 서브세트 내의 패킷들의 수를 결정하고; 및
    상기 서브세트 내의 패킷들의 총수와 상기 수신 노드에 도착된 상기 서브세트 내의 패킷들의 수를 비교하여 상기 네트워크 송신 경로와 연관된 상기 최대 데이터 송신 속도를 근사화하는 것인, 컴퓨터 판독 가능한 기록 매체.
  50. 네트워크 송신 경로와 연관된 버퍼와 연관된 버퍼 크기를 근사화하는 방법에 있어서:
    송신용 네트워크 송신 경로로의 송신 노드로부터 수신 노드로 상기 네트워크 송신 경로를 통해 알려진 속도로 일련의 시험 패킷들을 송신하는 단계;
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하는지를 결정하는 단계; 및
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하지 않는다고 결정된 경우에:
    도착하지 않은 상기 일련의 시험 패킷들에서 제 1 분실 패킷을 식별하는 단계;
    얼마나 많은 패킷들이 상기 일련의 시험 패킷들 내의 상기 제 1 분실 패킷에 앞서있는지를 결정하는 단계; 및
    얼마나 많은 패킷들이 상기 일련의 시험 패킷들 내의 상기 제 1 분실 패킷에 앞서있는지에 적어도 부분적으로 기초하여 상기 버퍼 크기를 근사화하는 단계를 포함하는, 버퍼 크기 근사화 방법.
  51. 네트워크 송신 경로와 연관된 버퍼 크기를 근사화하는 시스템에 있어서:
    송신용 상기 네트워크 송신 경로로의 송신 노드로부터 수신 노드로 상기 네트워크 송신 경로를 통해 알려진 속도로 일련의 시험 패킷들을 송신하도록 구성된 송신 인터페이스;
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하는지를 결정하고, 모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하지 않는다고 결정된 경우에:
    도착하지 않은 상기 일련의 시험 패킷들에서 제 1 분실 패킷을 식별하고;
    얼마나 많은 패킷들이 상기 일련의 시험 패킷들 내의 상기 제 1 분실 패킷에 앞서있는지를 결정하고;
    얼마나 많은 패킷들이 상기 일련의 시험 패킷들 내의 상기 제 1 분실 패킷에 앞서있는지에 적어도 부분적으로 기초하여 상기 버퍼 크기를 근사화하도록 구성된 프로세서를 포함하는, 버퍼 크기 근사화 시스템.
  52. 네트워크 송신 경로와 연관된 버퍼와 연관된 버퍼 크기를 근사화하고, 컴퓨터 명령들을 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 컴퓨터 명령들은:
    송신용 네트워크 송신 경로로의 송신 노드로부터 수신 노드로 상기 네트워크 송신 경로를 통해 알려진 속도로 일련의 시험 패킷들을 송신하고;
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하는지를 결정하고; 및
    모든 패킷들이 상기 수신 노드에 도착된 상기 일련의 시험 패킷들을 포함하지 않는다고 결정된 경우에:
    도착하지 않은 상기 일련의 시험 패킷들에서 제 1 분실 패킷을 식별하고;
    얼마나 많은 패킷들이 상기 일련의 시험 패킷들 내의 상기 제 1 분실 패킷에 앞서있는지를 결정하고;
    얼마나 많은 패킷들이 상기 일련의 시험 패킷들 내의 상기 제 1 분실 패킷에 앞서있는지에 적어도 부분적으로 기초하여 상기 버퍼 크기를 근사화하는 것인, 컴퓨터 판독 가능한 기록 매체.
KR1020067021384A 2004-04-13 2005-04-12 네트워크 지연 제어 KR101071898B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US56211104P 2004-04-13 2004-04-13
US60/562,111 2004-04-13
US11/054,345 2005-02-08
US11/054,345 US7499402B2 (en) 2004-04-13 2005-02-08 Network delay control
PCT/US2005/012487 WO2005101744A2 (en) 2004-04-13 2005-04-12 Network delay control

Publications (2)

Publication Number Publication Date
KR20070048648A KR20070048648A (ko) 2007-05-09
KR101071898B1 true KR101071898B1 (ko) 2011-10-11

Family

ID=35060422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067021384A KR101071898B1 (ko) 2004-04-13 2005-04-12 네트워크 지연 제어

Country Status (7)

Country Link
US (1) US7499402B2 (ko)
EP (1) EP1735953B1 (ko)
KR (1) KR101071898B1 (ko)
CN (1) CN101427516B (ko)
HK (1) HK1132394A1 (ko)
TW (1) TWI388156B (ko)
WO (1) WO2005101744A2 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509465B1 (en) * 2004-06-25 2009-03-24 Emc Corporation System and method for managing memory or session resources used for movement of data being copied in a data storage environment
US7929442B2 (en) * 2004-06-30 2011-04-19 Intel Corporation Method, system, and program for managing congestion in a network controller
EP1619834B1 (en) * 2004-07-23 2007-01-17 Siemens Aktiengesellschaft Method for transmitting data packets between nodes of a communication network
EP1875689B1 (fr) * 2005-04-28 2014-11-26 Orange Procede de routage, station emettrice-receptrice et programme d'ordinateur pour la mise en uvre du procede
US7778169B2 (en) * 2005-09-02 2010-08-17 Cisco Technology, Inc. Packetizing media for a time slotted communication system
US9002258B2 (en) 2006-01-18 2015-04-07 Dongju Chung Adaptable audio instruction system and method
US20070201365A1 (en) * 2006-01-23 2007-08-30 Frederick Skoog Video packet multiplexer with intelligent packet discard
US7876696B2 (en) * 2006-01-27 2011-01-25 Texas Instruments Incorporated Adaptive upstream bandwidth estimation and shaping
US7796999B1 (en) 2006-04-03 2010-09-14 Sprint Spectrum L.P. Method and system for network-directed media buffer-size setting based on device features
US20080086516A1 (en) * 2006-10-04 2008-04-10 Oracle International Automatically changing a database system's redo transport mode to dynamically adapt to changing workload and network conditions
TW200924438A (en) * 2007-11-21 2009-06-01 Ralink Technology Corp Apparatus of transmitting packets of wireless local network and method for using the same
US9013999B1 (en) * 2008-01-02 2015-04-21 Marvell International Ltd. Method and apparatus for egress jitter pacer
US8165011B2 (en) * 2008-06-13 2012-04-24 Telco Acquisition I, Inc. Real-time network measurement
US8130752B2 (en) 2008-06-13 2012-03-06 Telco Acquisition I, Inc. Real-time network measurement
US7876791B2 (en) 2008-07-24 2011-01-25 Samsung Electronics Co., Ltd. Synchronizing apparatus and method in packet network
US8213308B2 (en) * 2008-09-11 2012-07-03 Juniper Networks, Inc. Methods and apparatus for defining a flow control signal related to a transmit queue
US8325749B2 (en) * 2008-12-24 2012-12-04 Juniper Networks, Inc. Methods and apparatus for transmission of groups of cells via a switch fabric
US8154996B2 (en) 2008-09-11 2012-04-10 Juniper Networks, Inc. Methods and apparatus for flow control associated with multi-staged queues
TWI395487B (zh) * 2008-10-02 2013-05-01 Ind Tech Res Inst 應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品
US8615201B1 (en) * 2008-10-13 2013-12-24 Altera Corporation System for communications link components
US8254255B2 (en) * 2008-12-29 2012-08-28 Juniper Networks, Inc. Flow-control in a switch fabric
US20100265833A1 (en) * 2009-04-16 2010-10-21 Ou Frank Y Network bandwidth determination
KR20110001464A (ko) * 2009-06-30 2011-01-06 주식회사 포스코아이씨티 신호들의 합성을 위한 신호 처리 방법 및 장치
US9264321B2 (en) 2009-12-23 2016-02-16 Juniper Networks, Inc. Methods and apparatus for tracking data flow based on flow state values
US9602439B2 (en) 2010-04-30 2017-03-21 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US9065773B2 (en) 2010-06-22 2015-06-23 Juniper Networks, Inc. Methods and apparatus for virtual channel flow control associated with a switch fabric
US8553710B1 (en) 2010-08-18 2013-10-08 Juniper Networks, Inc. Fibre channel credit-based link flow control overlay onto fibre channel over ethernet
CN102420738B (zh) * 2010-09-27 2014-08-20 国基电子(上海)有限公司 电缆调制解调器及其设置优先级的方法
US9660940B2 (en) 2010-12-01 2017-05-23 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US8792499B2 (en) * 2011-01-05 2014-07-29 Alcatel Lucent Apparatus and method for scheduling on an optical ring network
US9032089B2 (en) 2011-03-09 2015-05-12 Juniper Networks, Inc. Methods and apparatus for path selection within a network based on flow duration
US8811183B1 (en) 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US9584385B2 (en) * 2012-01-19 2017-02-28 Comcast Cable Communications, Llc Adaptive buffer control
CN105432054B (zh) * 2014-06-25 2019-04-05 华为技术有限公司 确定传输缓存量的方法和设备
US10069748B2 (en) 2015-12-14 2018-09-04 Mellanox Technologies Tlv Ltd. Congestion estimation for multi-priority traffic
CN105828018B (zh) * 2015-12-21 2019-02-22 广东亿迅科技有限公司 用于视频会议的传输方法
US10069701B2 (en) 2016-01-13 2018-09-04 Mellanox Technologies Tlv Ltd. Flexible allocation of packet buffers
US10721178B2 (en) * 2016-01-22 2020-07-21 Medtronic, Inc. Systems, apparatus and methods facilitating data buffering and removal
US10250530B2 (en) 2016-03-08 2019-04-02 Mellanox Technologies Tlv Ltd. Flexible buffer allocation in a network switch
US10084716B2 (en) 2016-03-20 2018-09-25 Mellanox Technologies Tlv Ltd. Flexible application of congestion control measures
US10205683B2 (en) * 2016-03-28 2019-02-12 Mellanox Technologies Tlv Ltd. Optimizing buffer allocation for network flow control
US10387074B2 (en) 2016-05-23 2019-08-20 Mellanox Technologies Tlv Ltd. Efficient use of buffer space in a network switch
US9985910B2 (en) 2016-06-28 2018-05-29 Mellanox Technologies Tlv Ltd. Adaptive flow prioritization
CN106230661B (zh) * 2016-08-01 2019-05-14 北京大学 网络数据延迟控制方法
US10389646B2 (en) 2017-02-15 2019-08-20 Mellanox Technologies Tlv Ltd. Evading congestion spreading for victim flows
US10645033B2 (en) 2017-03-27 2020-05-05 Mellanox Technologies Tlv Ltd. Buffer optimization in modular switches
CN110024339B (zh) * 2017-11-06 2020-10-09 华为技术有限公司 报文转发方法、转发设备和网络设备
US10602139B2 (en) * 2017-12-27 2020-03-24 Omnivision Technologies, Inc. Embedded multimedia systems with adaptive rate control for power efficient video streaming
US20210075734A1 (en) * 2018-05-31 2021-03-11 Hewlett-Packard Development Company, L.P. Packets transmissions based on priority levels
US10609722B2 (en) * 2018-06-28 2020-03-31 Intel IP Corporation Techniques for scheduling communication based on receive data capacity
US11005770B2 (en) 2019-06-16 2021-05-11 Mellanox Technologies Tlv Ltd. Listing congestion notification packet generation by switch
US10999221B2 (en) 2019-07-02 2021-05-04 Mellanox Technologies Tlv Ltd. Transaction based scheduling
EP4047892A4 (en) * 2019-10-15 2023-06-21 Industry-University Cooperation Foundation Hanyang University ERICA Campus CENTRALIZED NETWORK CONFIGURATION ENTITY AND TIME-SENSITIVE NETWORK CONTROL SYSTEM COMPRISING THE SAME
US11470010B2 (en) 2020-02-06 2022-10-11 Mellanox Technologies, Ltd. Head-of-queue blocking for multiple lossless queues
US11894948B2 (en) * 2020-04-02 2024-02-06 PrimeWan Limited Method of forming a virtual network
CN111800347B (zh) * 2020-09-09 2020-12-18 北京东方通科技股份有限公司 一种基于时间敏感网络的数据调度方法
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389010B1 (en) * 1995-10-05 2002-05-14 Intermec Ip Corp. Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones
US6188698B1 (en) * 1997-12-31 2001-02-13 Cisco Technology, Inc. Multiple-criteria queueing and transmission scheduling system for multimedia networks
US6097697A (en) * 1998-07-17 2000-08-01 Sitara Networks, Inc. Congestion control
US6529475B1 (en) * 1998-12-16 2003-03-04 Nortel Networks Limited Monitor for the control of multimedia services in networks
US6570849B1 (en) * 1999-10-15 2003-05-27 Tropic Networks Inc. TDM-quality voice over packet
US6654376B1 (en) * 1999-12-28 2003-11-25 Nortel Networks Limited ATM packet scheduler
US6707821B1 (en) * 2000-07-11 2004-03-16 Cisco Technology, Inc. Time-sensitive-packet jitter and latency minimization on a shared data link
US6917589B2 (en) * 2001-01-25 2005-07-12 Agere Systems Inc. Automatic quality of service assignment in ethernet switches
US7025985B2 (en) * 2001-05-28 2006-04-11 Kanebo, Ltd. Dihydroxyphenyl compounds and glucoside compounds thereof
US7225271B1 (en) * 2001-06-29 2007-05-29 Cisco Technology, Inc. System and method for recognizing application-specific flows and assigning them to queues
GB2385684A (en) * 2002-02-22 2003-08-27 Sony Uk Ltd Frequency synchronisation of clocks
US7385997B2 (en) * 2002-04-08 2008-06-10 International Business Machines Corporation Priority based bandwidth allocation within real-time and non-real-time traffic streams

Also Published As

Publication number Publication date
KR20070048648A (ko) 2007-05-09
WO2005101744A3 (en) 2009-04-09
EP1735953A2 (en) 2006-12-27
EP1735953B1 (en) 2014-06-11
CN101427516A (zh) 2009-05-06
TWI388156B (zh) 2013-03-01
WO2005101744A2 (en) 2005-10-27
TW200534636A (en) 2005-10-16
US20050226156A1 (en) 2005-10-13
CN101427516B (zh) 2010-12-15
US7499402B2 (en) 2009-03-03
HK1132394A1 (en) 2010-02-19
EP1735953A4 (en) 2013-03-20

Similar Documents

Publication Publication Date Title
KR101071898B1 (ko) 네트워크 지연 제어
US9419907B2 (en) I/O driven rate adaptation
US20230037724A1 (en) Method and apparatus for controlling traffic in packet-based network
US9054973B2 (en) Method and system for Ethernet congestion management
US6894974B1 (en) Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
EP2050199B1 (en) Expedited communication traffic handling apparatus and methods
US20030182437A1 (en) Proxy server and proxy control program
JPH1093624A (ja) パケット伝送ネットワーク
WO2010089886A1 (ja) パケットバッファ装置及びパケット廃棄方法
EP2629470B1 (en) Apparatus and method for optimizing power consumption by traffic shaping in a transmission network
US10439940B2 (en) Latency correction between transport layer host and deterministic interface circuit
JP2002009842A (ja) 自動適応ジッタバッファ
JP2007201965A (ja) 送信制御機能を備えるパケット中継装置
US7355976B2 (en) Method and apparatus for providing retry control, buffer sizing and management
EP1931068A1 (en) Method of adaptively dejittering packetized signals buffered at the receiver of a communication network node
EP2996293B1 (en) A packet scheduling networking device for deadline aware data flows
JP4838739B2 (ja) ルータのバッファ管理方法並びにその管理方法を用いたルータ
KR100462475B1 (ko) 선형제어를 이용한 큐 스케쥴링 장치 및 방법
JP2004056328A (ja) ルータ、ルータの動的品質制御方法、プログラム、および記録媒体
Cho et al. A dynamic buffer management scheme based on rate estimation in packet-switched networks
KR101224593B1 (ko) 패킷 스위칭 네트워크에서의 패킷 플로우 스케줄링 장치 및방법
Smith Responsive vs. Unresponsive Traffic: Active Queue Management for a Better-Than-Best-Effort Service

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20141128

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160923

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170926

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 9