KR101608612B1 - 네트워크 트래픽에서의 도착간 지연의 감소 - Google Patents

네트워크 트래픽에서의 도착간 지연의 감소 Download PDF

Info

Publication number
KR101608612B1
KR101608612B1 KR1020147025826A KR20147025826A KR101608612B1 KR 101608612 B1 KR101608612 B1 KR 101608612B1 KR 1020147025826 A KR1020147025826 A KR 1020147025826A KR 20147025826 A KR20147025826 A KR 20147025826A KR 101608612 B1 KR101608612 B1 KR 101608612B1
Authority
KR
South Korea
Prior art keywords
network link
sender
receive window
delay
inter
Prior art date
Application number
KR1020147025826A
Other languages
English (en)
Other versions
KR20140134678A (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 KR20140134678A publication Critical patent/KR20140134678A/ko
Application granted granted Critical
Publication of KR101608612B1 publication Critical patent/KR101608612B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0205Traffic management, e.g. flow control or congestion control at the air interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • 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
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

개시된 실시예는 네트워크 링크의 사용을 용이하게 하기 위한 시스템을 제공한다. 동작 동안, 시스템은 네트워크 링크를 통해 전송자로부터 수신되는 패킷들의 도착간 지연을 지속적으로 모니터링한다. 다음, 시스템은 네트워크 링크를 통한 전송자 및 다른 전송자로부터의 후속 패킷의 수신을 용이하게 하기 위해 도착간 지연에 기초하여 전송자에 대한 수신 윈도우를 조정한다.

Description

네트워크 트래픽에서의 도착간 지연의 감소{REDUCING INTERARRIVAL DELAYS IN NETWORK TRAFFIC}
개시된 실시예는 네트워크 트래픽을 관리하기 위한 기술에 관한 것이다. 보다 구체적으로, 개시된 실시예는 도착간 지연(interarrival delay)에 기초하여 네트워크 트래픽과 관련된 전송자에 대한 수신 윈도우(receive window)를 조정함으로써 네트워크 트래픽에서의 도착간 지연을 감소시키는 기술에 관한 것이다.
무선 액세스 포인트, 셀 타워, 및/또는 라우터와 같은 네트워크 링크는 개인용 컴퓨터, 랩톱 컴퓨터, 이동 전화, 휴대용 미디어 플레이어, 프린터, 및/또는 비디오 게임 콘솔과 같은 다수의 네트워크 인에이블 전자 디바이스(network-enabled electronic device)에 의해 공유될 수 있다. 전자 디바이스로의 네트워크 트래픽을 관리하기 위해, 네트워크 링크는 전자 디바이스로의 패킷들의 흐름을 감소시키고/시키거나, 패킷들을 재순서화(reorder)하고/하거나, 패킷들을 드롭시킬 수 있다. 패킷의 전송자는 또한 패킷 에러, 손실, 및/또는 지연에 기초하여 후속 패킷의 송신 속도를 조정하여, 네트워크 링크에서의 혼잡을 해소하고 전자 디바이스에 의한 네트워크 대역폭의 공유를 용이하게 할 수 있다.
반면에, 전자 디바이스는 전송자로부터의 패킷의 송신에 영향을 미치는 능력이 없을 수 있다. 대신에, 전자 디바이스는 패킷이 전송자 및/또는 네트워크 링크에 의해 송신되는 속도로 패킷을 수신할 수 있을 뿐이다. 더욱이, 각각의 전자 디바이스는 동일한 네트워크 링크(들)를 통해 데이터를 전송 및 수신하는 상이한 우선순위들과 관련된 다수의 프로세스를 포함할 수 있다. 전송자 및 네트워크 링크는 프로세스에 대한 우선순위 정보가 없기 때문에, 전자 디바이스 상의 보다 높은 우선순위(예컨대, 포어그라운드(foreground)) 프로세스는 보다 낮은 우선순위(예컨대, 백그라운드(background)) 프로세스보다 네트워크 링크 상의 대역폭의 보다 적은 공유로 끝날 수 있으며, 이는 사용자에 의한 전자 디바이스의 사용에 악영향을 미칠 수 있다.
개시된 실시예는 네트워크 링크의 사용을 용이하게 하는 시스템을 제공한다. 동작 동안, 시스템은 네트워크 링크를 통해 전송자로부터 수신되는 패킷들의 도착간 지연을 지속적으로 모니터링한다. 다음, 시스템은 네트워크 링크를 통한 전송자 및 다른 전송자로부터의 후속 패킷의 수신을 용이하게 하기 위해 도착간 지연에 기초하여 전송자에 대한 수신 윈도우를 조정한다.
일부 실시예에서, 시스템은 또한 패킷과 관련된 프로세스의 우선순위에 기초하여 수신 윈도우를 조정한다. 예를 들어, 시스템은 프로세스의 우선순위에 기초하여 수신 윈도우에 대한 조정을 스케일링(scaling)할 수 있다. 이에 따라, 포어그라운드 프로세스와 같은 보다 높은 우선순위 프로세스는 백그라운드 프로세스와 같은 보다 낮은 우선순위 프로세스보다 수신 윈도우에 대한 보다 작은 조정과 관련될 수 있다.
일부 실시예에서, 도착간 지연에 기초하여 전송자에 대한 수신 윈도우를 조정하는 것은 도착간 지연이 제1 사전-규정된 마진(margin)만큼 임계치를 초과하는 경우 수신 윈도우를 감소시키는 것, 및 도착간 지연이 제2 사전-규정된 마진만큼 임계치 아래에 있는 경우 수신 윈도우를 증가시키는 것을 수반한다.
일부 실시예에서, 전송자에 대한 수신 윈도우를 조정하는 것은 새로운 크기의 수신 윈도우를 포함하는 확인응답 패킷(예컨대, TCP(Transmission Control Protocol) 확인응답)을 전송자로 송신하는 것을 수반한다.
일부 실시예에서, 네트워크 링크는 WiFi 네트워크 링크 또는 이동 전화 네트워크 링크 중 하나이다. 예를 들어, 네트워크 링크는 WiFi 네트워크에 대한 무선 액세스 포인트 및/또는 이동 전화 네트워크에 대한 셀 타워에 의해 제공될 수 있다.
일부 실시예에서, 수신 윈도우는 네트워크 링크의 샘플링과 관련된 최소 수신 윈도우 아래로 감소되지 않는다.
<도 1>
도 1은 개시된 실시예에 따른 시스템의 개략도.
<도 2>
도 2는 개시된 실시예에 따른, 네트워크 링크의 사용을 용이하게 하기 위한 시스템을 도시한 도면.
<도 3>
도 3은 개시된 실시예에 따른, 시간 경과에 따른 2개 프로세스에 의한 네트워크 링크의 예시적인 사용을 도시한 도면.
<도 4>
도 4는 개시된 실시예에 따른 예시적인 플롯을 도시한 도면.
<도 5>
도 5는 개시된 실시예에 따른 예시적인 플롯을 도시한 도면.
<도 6>
도 6은 개시된 실시예에 따른 예시적인 플롯을 도시한 도면.
<도 7>
도 7은 개시된 실시예에 따른, 네트워크 링크의 사용을 용이하게 하는 프로세스를 도시한 흐름도.
<도 8>
도 8은 개시된 실시예에 따른 컴퓨터 시스템을 도시한 도면.
도면들에서, 유사한 도면 부호는 동일한 도면 요소를 나타낸다.
하기 설명은 당업자가 본 실시예를 제작하고 이용하는 것을 가능하게 하기 위해 제공되고, 특정한 응용 및 그의 요건과 관련하여 제공된다. 개시된 실시예들에 대한 다양한 변경들이 당업자에게 용이하게 명백할 것이고, 본 명세서에 규정된 일반적인 원리들은 본 발명의 사상 및 범주로부터 벗어남이 없이 다른 실시예들 및 응용들에 적용될 수 있다. 따라서, 본 발명은 도시된 실시예들로 제한되는 것이 아니라, 본 명세서에 개시된 원리들 및 특징들과 일치하는 가장 넓은 범주를 부여받아야 한다.
이러한 상세한 설명에서 기술되는 데이터 구조들 및 코드는 전형적으로 컴퓨터 판독가능 저장 매체에 저장되는데, 이는 컴퓨터 시스템에 의한 이용을 위한 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있다. 컴퓨터 판독가능 저장 매체는 휘발성 메모리, 비휘발성 메모리, 자기 및 광학 저장 디바이스, 예를 들어 디스크 드라이브, 자기 테이프, CD(compact disc), DVD(digital versatile disc 또는 digital video disc), 또는 코드 및/또는 데이터를 저장할 수 있는 다른 매체를 포함하지만, 이로 한정되지 않는다. 기술된 실시예가 일시적 신호와 같은 비일시적 컴퓨터 판독가능 저장 매체를 포함하는 것으로 의도되지 않음에 유의한다.
상세한 설명에 기술되는 방법들 및 프로세스들은 전술된 바와 같은 컴퓨터 판독가능 저장 매체에 저장될 수 있는 코드 및/또는 데이터로서 구현될 수 있다. 컴퓨터 시스템이 컴퓨터 판독가능 저장 매체에 저장된 코드 및/또는 데이터를 판독 및 실행할 때, 컴퓨터 시스템은 데이터 구조들 및 코드로서 구현되고 컴퓨터 판독가능 저장 매체 내에 저장된 방법들 및 프로세스들을 수행한다.
또한, 본 명세서에 기술된 방법들 및 프로세스들은 하드웨어 모듈 또는 장치 내에 포함될 수 있다. 이들 모듈 또는 장치는, ASIC(application-specific integrated circuit) 칩, FPGA(field-programmable gate array), 특정 시간에 특정 소프트웨어 모듈 또는 코드 단편을 실행하는 전용 또는 공유 프로세서, 및/또는 다른 프로그래머블 논리 디바이스를 포함할 수 있지만 이로 한정되지 않는다. 하드웨어 모듈들 또는 장치가 활성화되면, 이들은 그들 내에 포함된 방법들 및 프로세스들을 수행한다.
개시된 실시예는 네트워크 트래픽을 관리하기 위한 방법 및 시스템을 제공한다. 도 1에 도시된 바와 같이, 다수의 컴퓨터 시스템(110 내지 112)이 무선 액세스 포인트, 셀 타워, 및/또는 라우터와 같은 디바이스에 의해 제공되는 네트워크 링크(106 내지 108)를 통해 네트워크(104)에 접속된다. 컴퓨터 시스템(110 내지 112)은 개인용 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 이동 전화/스마트폰, 휴대용 미디어 플레이어, 및/또는 다른 네트워크 인에이블 전자 디바이스에 대응할 수 있다. 네트워크(104)는 LAN(local area network), WAN(wide area network), PAN(personal area network), 가상 사설망(virtual private network), 인트라넷, 이동 전화 네트워크(예컨대, 셀룰러 네트워크), WiFi 네트워크, 블루투스 네트워크, USB(universal serial bus) 네트워크, 이더넷 네트워크, 2개 이상의 디바이스들 사이에 형성되는 애드 혹 네트워크(ad hoc network), 및/또는 네트워크(104)에 접속되는 컴퓨터 시스템(예컨대, 컴퓨터 시스템(110 내지 112))들 사이의 통신을 용이하게 하는 다른 유형의 네트워크를 포함할 수 있다.
특히, 컴퓨터 시스템(110 내지 112)은 네트워크(104)를 통해 파일, 오디오, 비디오, 및/또는 웹 콘텐츠와 같은 데이터를 전송 및 수신함으로써 네트워크(104) 상에서 서로 및/또는 서버(102)와 상호작용할 수 있다. 예를 들어, 컴퓨터 시스템(110)은 컴퓨터 시스템(112) 및/또는 서버(102)와의 TCP(Transmission Control Protocol) 접속을 확립함으로써 컴퓨터 시스템(112) 및/또는 서버(102)로부터 데이터를 요청할 수 있다. 이어서, 컴퓨터 시스템(112) 및 서버(102)는 데이터를 포함하는 패킷들의 시퀀스를 네트워크(104)를 통해 컴퓨터 시스템(110)으로 송신함으로써 요청된 데이터를 제공할 수 있다. 동시에, 컴퓨터 시스템(110 내지 112) 및/또는 다른 컴퓨터 시스템(도시되지 않음)은 네트워크(104)를 통해 패킷을 송신 및 수신함으로써 네트워크(104) 상에서 서로, 서버(102)와, 그리고/또는 다른 서버 또는 디바이스(도시되지 않음)와 통신할 수 있다. 네트워크 상에서의 혼잡을 방지하고/하거나 완화하기 위해, 네트워크(106) 상의 네트워크 링크(106 내지 108) 및/또는 다른 네트워크 링크(도시되지 않음)는 컴퓨터 시스템(110 내지 112) 및/또는 다른 컴퓨터 시스템으로의 패킷을 큐잉(queue), 재순서화, 지연, 및/또는 드롭시키는 네트워크 트래픽 제어 기술을 구현할 수 있다. 컴퓨터 시스템(110 내지 112), 서버(102), 및/또는 다른 서버 또는 디바이스는 또한 패킷 에러, 손실, 및/또는 지연에 기초하여 후속 패킷의 송신의 속도를 조정하여, 컴퓨터 시스템에 의한 네트워크(104)의 가용 대역폭의 공유 및/또는 효과적 사용을 용이하게 할 수 있다.
그러나, 종래의 컴퓨터 시스템(예컨대, 스마트폰, 데스크톱 컴퓨터, 태블릿 컴퓨터 등)은 서로 및/또는 서버로부터의 패킷의 수신을 제어하는 능력이 없을 수 있다. 또한, 각각의 컴퓨터 시스템은 네트워크(104)를 통해 데이터를 전송 및 수신하는 상이한 우선순위들과 관련된 다수의 프로세스를 포함할 수 있다. 결과적으로, 컴퓨터 시스템(예컨대, 컴퓨터 시스템(110 내지 112))이 접속되는 네트워크 링크(예컨대, 네트워크 링크(106 내지 108))는 경쟁(contention) 하에 있을 수 있으며, 컴퓨터 시스템 상의 보다 높은 우선순위 프로세스는 보다 낮은 우선순위 프로세스보다 네트워크 링크로부터 더 적은 대역폭을 수신할 수 있다. 마찬가지로, 컴퓨터 시스템으로 예정된 패킷은 네트워크 링크에서 병목현상과 접할 수 있고, 컴퓨터 시스템 상의 모든 프로세스는 증가된 네트워크 레이턴시를 경험할 수 있다.
네트워크 링크(106 내지 108)의 사용을 용이하게 하기 위해(그리고 종래의 컴퓨터 시스템에서 접하게 되는 전술된 문제를 회피하기 위해), 기술된 실시예에서, 컴퓨터 시스템(110 내지 112)은 프로세스에 의해 경험되는 네트워크 레이턴시에 기초하여 서로, 서버(102), 및/또는 다른 컴퓨터 시스템 또는 디바이스로부터 컴퓨터 시스템(110 내지 112) 상의 개별 프로세스로의 패킷의 송신을 조정하기 위한 기능을 포함한다.
도 2에 도시된 바와 같이, 컴퓨터 시스템(202)은 네트워크 링크(204)를 통해 다수의 전송자(222 내지 224)(예컨대, 서버 또는 다른 디바이스)로부터 패킷(226 내지 228)을 수신할 수 있다. 패킷(226 내지 228)은 컴퓨터 시스템(202) 상에서 실행되는 상이한 프로세스들(예컨대, 애플리케이션들)과 관련될 수 있다. 예를 들어, 전송자(222)로부터의 패킷(226)은 컴퓨터 시스템(202) 상의 하나의 프로세스에 의해 수신될 수 있고, 전송자(224)로부터의 패킷(228)은 컴퓨터 시스템(202) 상의 다른 프로세스에 의해 수신될 수 있다.
패킷(226 내지 228)이 전송자(222 내지 224)로부터 컴퓨터 시스템(202)으로 송신되는 동안, 컴퓨터 시스템(202) 내의 모니터링 장치(206)는 패킷(226 내지 228)에 대한 한 세트의 도착간 지연(210 내지 212)을 지속적으로 모니터링할 수 있다. 특히, 모니터링 장치(206)는 전송자로부터 컴퓨터 시스템(202) 상의 대응 프로세스로의 한 쌍의 연속 패킷들에 대한 "상대적 트랜짓 시간(relative transit time)"의 차이로서 각각의 도착간 지연(210 내지 212)을 계산할 수 있다. 예를 들어, 2개의 패킷들이 20 밀리초 떨어져 전송되지만 30 밀리초 떨어져 수신되는 경우, 그 2개의 패킷들에 대한 도착간 지연은 10 밀리초일 수 있다.
계산된 도착간 지연(210 내지 212)은 WiFi 네트워크 상의 무선 액세스 포인트 및/또는 이동 전화 네트워크 상의 셀 타워와 같은 네트워크 링크(204) 상의 프로세스들 간의 경쟁의 표시를 컴퓨터 시스템(202)에 제공할 수 있다. 전송자(222 내지 224)로부터의 네트워크 트래픽에 대한 변화의 검출을 더욱 용이하게 하기 위해, 모니터링 장치(206)는 또한 도착간 지연(210 내지 212)(예컨대, 도착간 지터)의 표준 편차 및/또는 분산과 같은 통계값을 계산할 수 있다.
다음, 컴퓨터 시스템(202) 내의 관리 장치(208)는 네트워크 링크(204)를 통한 전송자(222 내지 224)로부터의 후속 패킷의 수신을 용이하게 하기 위해 도착간 지연(210 내지 212)에 기초하여 전송자(222 내지 224)에 대한 한 세트의 수신 윈도우(218 내지 220)를 조정할 수 있다. 각각의 수신 윈도우(218 내지 220)는 전송자에 확인응답함(예컨대, 확인응답 패킷을 전송자로 송신함)이 없이 컴퓨터 시스템(202)이 대응 전송자로부터 수용할 용의가 있는 데이터의 양을 나타낼 수 있다. 넓은 수신 윈도우는 전송자로부터의 패킷 송신의 속도를 상승시킬 수 있는 반면, 좁은 수신 윈도우는 전송자로부터의 패킷 송신의 속도를 낮출 수 있다.
전송자로부터의 패킷의 도착간 지연이 제1 사전-규정된 마진만큼 임계치를 초과하는 경우, 네트워크 링크(204)는 경쟁 하에 있을 수 있고, 관리 장치(208)는 전송자 및/또는 다른 전송자(예컨대, 전송자(222 내지 224))로부터의 후속 패킷들의 도착간 지연을 감소시키기 위해 대응 수신 윈도우를 감소시킬 수 있다. 반면에, 도착간 지연이 제2 사전-규정된 마진 - 이는 제1 사전-규정된 마진과 동일할 수 있거나 동일하지 않을 수 있음 - 만큼 임계치 아래에 있는 경우, 네트워크 링크(204)는 충분히 활용될 수 없고, 관리 장치(208)는 네트워크 링크의 활용을 증가시키기 위해 수신 윈도우를 증가시킬 수 있다. 전송자에 대한 수신 윈도우의 변화를 초래하기 위해, 관리 장치(208)는 새로운 크기의 수신 윈도우를 나타내는 패킷 또는 데이터 프레임을 수신자로 송신할 수 있다. 예를 들어, 일부 실시예에서, 관리 장치는 새로운 크기의 수신 윈도우를 포함하는 확인응답 패킷(예컨대, TCP 확인응답)을 전송자로 송신하고, 전송자는 이에 따라 패킷이 컴퓨터 시스템(202)으로 송신되는 속도를 조정할 수 있다.
관리 장치(208)는 패킷이 예정된 프로세스들에 대한 한 세트의 우선순위(214 내지 216)(예컨대, 여기서 주어진 프로세스에 대한 우선순위는 컴퓨터 시스템(202)에 대한 운영 체제에 의해 규정됨)에 기초하여 수신 윈도우(218 내지 220)를 추가로 조정할 수 있다. 프로세스들이 상이한 우선순위(214 내지 216)와 관련되는 경우, 관리 장치(208)는 우선순위(214 내지 216)에 기초하여 수신 윈도우(218 내지 220)에 대한 조정을 스케일링할 수 있다. 따라서, 관리 장치(208)는 보다 높은 우선순위 프로세스가 보다 낮은 우선순위 프로세스보다 더 넓은 수신 윈도우 및 결국 네트워크 링크(204) 상의 보다 많은 대역폭과 관련되는 것을 보장할 수 있다.
예를 들어, 컴퓨터 시스템(202) 상의 백그라운드(예컨대, 낮은 우선순위) 프로세스는 네트워크 링크(204)를 통한 네트워크 트래픽의 유일한 수신자일 수 있다. 결과적으로, 네트워크 링크(204)를 통해 컴퓨터 시스템(202)으로 송신되는 모든 패킷은 백그라운드 프로세스에 의해 수신될 수 있고, 백그라운드 프로세스는 패킷들의 쌍들 사이의 최소 도착간 지연 및/또는 도착간 지연의 변동을 경험할 수 있다. 그러나, 일단 컴퓨터 시스템(202) 상의 포어그라운드(예컨대, 높은 우선순위) 프로세스가 네트워크 링크(204)를 통해 패킷을 수신하기 시작하면, 백그라운드 프로세스는 도착간 지연 및 도착간 지연의 변화 둘 모두에서의 증가를 경험할 수 있다. 도착간 지연은 결국 경쟁하는 포어그라운드 프로세스에 의한 네트워크 링크(204)의 사용을 나타내는 사전-규정된 임계치를 초과할 수 있다.
포어그라운드 프로세스에 의한 네트워크 링크(204)의 사용을 우선순위화하기 위해, 관리 장치(208)는 백그라운드 프로세스의 수신 윈도우를 감소시켜, 백그라운드 프로세스로의 네트워크 트래픽을 스로틀링(throttling)할 수 있다. 도착간 지연이 임계치 위에 유지되는 경우, 관리 장치(208)는 도착간 지연이 감소되고/되거나 수신 윈도우가 최소 수신 윈도우(예컨대, 4개 패킷의 수신 윈도우)에 도달할 때까지 백그라운드 프로세스의 수신 윈도우를 계속해서 감소시킬 수 있다. 일부 실시예에서, 최소 수신 윈도우는 네트워크 링크(204)를 샘플링하기 위한 최소 수신 윈도우일 수 있다.
포어그라운드 프로세스가 네트워크 링크(204)의 사용을 끝낸 후, 백그라운드 프로세스는 도착간 지연의 감소를 경험할 수 있는데, 이는 결국 임계치 아래에 있는 도착간 지연을 초래할 수 있다. 이어서, 관리 장치(208)는 도착간 지연이 허용가능한 값으로 복귀할 때까지 네트워크 링크(204)의 활용을 증가시키기 위해 백그라운드 프로세스의 수신 윈도우를 증가시킬 수 있다. 시간 경과에 따른 도착간 지연, 수신 윈도우, 및/또는 패킷 도착에 대한 변화가 도 3 내지 도 6과 관련하여 하기에 더 상세히 논의된다.
도착간 지연(210 내지 212) 및/또는 우선순위(214 내지 216)에 기초하여 수신 윈도우(218 내지 220)를 조정함으로써, 모니터링 장치(206) 및 관리 장치(208)는 네트워크 링크(204)를 통해 전송자(222 내지 224)로부터 컴퓨터 시스템(202)으로 패킷(226 내지 228)을 송신하는 데 사용되는 프로토콜(예컨대, TCP)에 대한 변화를 요구함이 없이 컴퓨터 시스템(202) 상의 프로세스들 간의 네트워크 대역폭의 공유 및/또는 우선순위화를 가능하게 할 수 있다. 또한, 모니터링 장치(206) 및 관리 장치(208)는 컴퓨터 시스템(202) 상에서 네트워크 링크(204)에 대한 경쟁이 없을 때마다 프로세스에 대한 네트워크 링크(204)에의 최대한의 액세스를 가능하게 함으로써 컴퓨터 시스템(202) 상의 프로세스에 의한 네트워크 링크(204)의 활용을 최대화할 수 있다.
당업자는 도 2의 시스템이 다양한 방식으로 구현될 수 있음을 인식할 것이다. 첫째, 모니터링 장치(206) 및 관리 장치(208)는 도착간 지연(210 내지 212)을 추적하고 개별 또는 그룹 단위로 수신 윈도우(218 내지 220)를 조정할 수 있다. 예를 들어, 컴퓨터 시스템(202) 내의 각각의 프로세스가 모니터링 장치(206) 및 관리 장치(208)의 별개의 인스턴스와 관련될 수 있거나, 컴퓨터 시스템(202) 내의 모든 프로세스에 대한 네트워크 트래픽이 (예컨대, 컴퓨터 시스템(202)의 운영 체제에서) 단일의 중앙집중식 모니터링 장치(206) 및/또는 관리 장치(208)에 의해 모니터링 및 관리될 수 있다. 유사하게, 모니터링 장치(206) 및 관리 장치(208)가 동일한 소프트웨어 및/또는 하드웨어 컴포넌트에 의해 제공될 수 있거나, 모니터링 장치(206) 및 관리 장치(208)가 서로 독립적으로 실행될 수 있다. 예를 들어, 모니터링 장치(206) 및 관리 장치(208)는 컴퓨터 시스템(202) 상의 하나 이상의 전용 프로세서 및/또는 범용 프로세서(예컨대, CPU(central-processing unit))에 의해 구현될 수 있다.
둘째, 관리 장치(208)는 다수의 방식으로 프로세스에 대한 네트워크 트래픽을 관리할 수 있다. 예를 들어, 관리 장치(208)는 흑-백 우선순위화(black-and-white prioritization) 기술을 구현할 수 있는데, 여기서, 상기 예에 기술된 바와 같이, 낮은 우선순위(예컨대, 백그라운드) 프로세스만을 위한 수신 윈도우가 낮은 우선순위 프로세스의 도착간 지연에 기초하여 조정되고, 넓은 수신 윈도우가 높은 우선순위(예컨대, 포어그라운드) 프로세스에 대해 높은 우선순위 프로세스의 도착간 지연에 무관하게 유지된다. 대안적으로, 관리 장치(208)는 프로세스들의 우선순위에 기초하여 수신 윈도우에 대한 조정을 스케일링할 수 있으며, 이때 보다 낮은 우선순위 프로세스에 대한 수신 윈도우에 대한 조정은 보다 높은 우선순위 프로세스에 대한 수신 윈도우에 대한 조정보다 더 큰 가중을 받는다. 관리 장치(208)는 프로세스들의 우선순위를 나타내기 위해 수치 스케일(예컨대, 1 내지 5, 1 내지 10 등), 알파벳 문자(예컨대, A, B, C 등), 및/또는 우선순위 등급(예컨대, 아이들(idle), 보통, 높음, 실시간)을 포함한 상이한 시스템들을 사용함으로써 조정에 추가로 영향을 미칠 수 있다. 마지막으로, 관리 장치(208)는 도착간 지연(210 내지 212)의 변화에 대한 컴퓨터 시스템(202)의 민감도 및/또는 응답성을 증가시키거나 감소시키기 위해 수신 윈도우(218 내지 220)에 대한 변화를 트리거링(triggering)하기 위한 상이한 임계치들 및/또는 마진들을 이용할 수 있다.
도 3은 개시된 실시예들에 따른, 시간(306) 경과에 따른 2개 프로세스(302 내지 304)에 의한 네트워크 링크의 예시적인 사용을 도시한다. 프로세스(302)는 보다 낮은 우선순위(예컨대, 백그라운드) 프로세스일 수 있고, 프로세스(304)는 보다 높은 우선순위(예컨대, 포어그라운드) 프로세스일 수 있다. 시간 t1에서, 프로세스(302)가 네트워크 링크를 통해 패킷을 송신 및 수신하기 시작할 수 있다. 다음, 시간 t2에서, 프로세스(304)가 네트워크 링크를 사용하기 시작하여, 프로세스(302)와 네트워크 링크를 공유할 수 있다. 시간 t3에서, 프로세스(304)가 네트워크 링크의 사용을 중지할 수 있고, 시간 t4에서, 프로세스(302)가 네트워크 링크의 사용을 중지할 수 있다.
도 4 내지 도 6은 개시된 실시예들에 따른 예시적인 플롯들을 도시한다. 보다 구체적으로, 도 4는 시간(404)의 함수로서 도 3으로부터의 프로세스(302)에 대한 도착간 지연(402)의 플롯을 도시하고, 도 5는 시간(504)의 함수로서 프로세스(302)에 대한 수신 윈도우(502)의 플롯을 도시하고, 도 6은 시간(604)의 함수로서 프로세스(302)에 대한 패킷 도착(602)의 플롯을 도시한다.
시간 t1과 시간 t2 사이에서, 프로세스(302)는 네트워크 링크의 유일한 사용자이고, 도착간 지연(402)은 상대적으로 일정하고 낮게 유지된다. 유사하게, 프로세스(302)에 대한 수신 윈도우(502)는 디폴트 값으로 설정되고, 패킷 도착(602)은 패킷이 프로세스(302)에 의해 꾸준히 높은 속도로 네트워크 링크를 통해 수신되고 있음을 나타낸다.
일단 시간 t2에서 프로세스(304)가 네트워크 링크를 사용하기 시작하면, 프로세스(302)에 대한 도착간 지연(402)이 증가한다. 도착간 지연(402)의 증가를 상쇄시키기 위해, 프로세스(302)에 대한 수신 윈도우(502)는 최소 수신 윈도우(506)에 도달될 때까지 꾸준히 감소될 수 있다. 예를 들어, 수신 윈도우(502)는 프로세스(302)에 대해 단일 단계에서 (예컨대, 최소 수신 윈도우(506)로 바로) 또는 일련의 단계들에서 (예컨대, 최소 수신 윈도우(506)에 도달될 때까지 증분적으로) 감소될 수 있다. 이어서, 프로세스(302)에 대한 수신 윈도우(502)는 네트워크 링크로부터의 패킷의 지속적인 샘플링 및 패킷을 사용한 도착간 지연(402)의 계산을 가능하게 하기 위해 최소 수신 윈도우(506)에서 유지될 수 있다. 예를 들어, 수신 윈도우(502)는 네트워크 링크를 통해 수신되는 4개 패킷들의 각각의 세트로부터의 프로세스(302)에 대한 도착간 지연(402)의 계산에 기초하여 프로세스(302)에 대한 수신 윈도우(502)에 대한 후속 조정을 용이하게 하기 위해 4개 패킷의 플로어(floor)(예컨대, 최소 수신 윈도우(506))를 가질 수 있다. 프로세스(302)에 대한 수신 윈도우(502)가 최소 수신 윈도우(506)로 설정된 동안, 프로세스(302)에 대한 도착간 지연(402)은 안정될 수 있고, 프로세스(302)에 대한 패킷 도착(602)은 훨씬 더 느린 속도로 증가할 수 있는데, 그 이유는 수신 윈도우(502)가 프로세스(302)에 대해 네트워크 트래픽을 스로틀링했기 때문이다.
시간 t3과 시간 t4 사이에서, 프로세스(302)에 대한 도착간 지연(402)이 감소할 수 있는데, 그 이유는 네트워크 링크가 더 이상 프로세스(302 내지 304)에 의해 공유되지 않기 때문이다. 프로세스(302)에 대한 도착간 지연(402)은 또한 (예컨대, 시간 t1과 시간 t2 사이에서의) 네트워크 링크의 유일한 사용과 관련된 처음의 낮은 값에서 평탄해질 수 있다. 동시에, 프로세스(302)에 대한 수신 윈도우(502)는 수신 윈도우(502)에 대한 처음 값에 도달될 때까지 도착간 지연(402)의 감소에 응답하여 증가될 수 있다. 최소 수신 윈도우(506)로의 프로세스(302)에 대한 수신 윈도우(502)의 이전 감소에서와 같이, 수신 윈도우(502)는 증분적으로 및/또는 단일 단계에서 처음 값으로 증가될 수 있다. 유사하게, 프로세스(302)에 대한 패킷 도착(602)은 패킷이 t1로부터 t2까지의 패킷 도착 속도와 동일한 높은 속도로 수신되고 있을 때까지 회복(pick up)될 수 있다. 다시 말해, 프로세스(302)와 관련된 패킷은 처음에 네트워크 링크를 최대한으로 활용할 수 있고, 프로세스(302)와의 네트워크 링크의 공유 동안에 느려질 수 있으며, 일단 프로세스(304)가 네트워크 링크의 사용을 끝내면 네트워크 링크의 최대한의 활용을 재개할 수 있다.
도 7은 개시된 실시예에 따른, 네트워크 링크의 사용을 용이하게 하는 프로세스를 도시한 흐름도를 도시한다. 하나 이상의 실시예에서, 단계들 중 하나 이상이 생략, 반복, 및/또는 상이한 순서로 수행될 수 있다. 따라서, 도 7에 도시된 단계들의 특정 배열은 본 기술의 범주를 제한하는 것으로 해석되어서는 안된다.
처음에, 네트워크 링크를 통해 전송자로부터 수신되는 패킷들의 도착간 지연이 모니터링된다(동작 702). 네트워크 링크는 WiFi 네트워크 및/또는 이동 전화 네트워크와 관련될 수 있다. 예를 들어, 네트워크 링크는 WiFi 네트워크에 대한 무선 액세스 포인트 및/또는 이동 전화 네트워크에 대한 셀 타워에 대응할 수 있다. 도착간 지연은 패킷들에 대한 "상대적 트랜짓 시간"의 차이로서 네트워크 링크로부터 수신되는 2개 이상의 연속 패킷들에 대해 계산될 수 있다.
다음, 네트워크 링크를 통해 전송자 및/또는 다른 전송자로부터의 후속 패킷의 수신을 용이하게 하기 위해, 전송자에 대한 수신 윈도우가 도착간 지연에 의한 임계치의 초과 및/또는 미만에 기초하여 조정될 수 있다(동작 704 내지 동작 706). 수신 윈도우는 전송자가 데이터의 수신자로부터의 확인응답(예컨대, TCP 확인응답)을 수신함이 없이 송신할 수 있는 데이터의 양에 대응할 수 있다.
도착간 지연이 (예컨대, 사전-규정된 마진보다 많이) 임계치를 초과하지도 그 아래에 있지도 않는 경우, 임계치를 초과하고/하거나 그 아래에 있는 도착간 지연의 값의 검출을 가능하게 하기 위해 도착간 지연의 모니터링이 계속될 수 있다(동작 702). 도착간 지연이 임계치를 초과하는 경우, 수신 윈도우는 후속 패킷들의 도착간 지연을 감소시키기 위해 감소된다(동작 708). 예를 들어, 수신 윈도우는 전송자로부터의 패킷을 수신하는 데 이용가능한 네트워크 대역폭 및 결국 네트워크 링크 상에서의 경쟁의 양을 감소시키기 위해 감소될 수 있다. 도착간 지연이 임계치 아래에 있는 경우, 수신 윈도우는 네트워크 링크의 활용을 증가시키기 위해 증가된다(동작 710). 예를 들어, 수신 윈도우는 네트워크 링크에 대한 경쟁이 중지된 후에 네트워크 링크의 최대한의 활용을 가능하게 하기 위해 증가될 수 있다. 단일 임계치 및/또는 단일 사전-규정된 마진을 기술하지만, 2개(이상)의 상이한 임계치들 및/또는 사전-규정된 마진들이 기술된 실시예에 사용될 수 있음에 주목한다. 예를 들어, 일부 실시예에서, 단일 임계치가 사용되지만, 제1 사전-규정된 마진이 그 임계치를 초과하는 데 사용되고, 제2 사전-규정된 마진이 그 임계치 아래에 있는 데 사용된다.
수신 윈도우에 대한 조정은 또한 패킷과 관련된(예컨대, 패킷을 수신하는 것과 관련된) 프로세스의 우선순위에 의해 영향을 받을 수 있다(동작 712). 예를 들어, 보다 높은 우선순위를 갖는 프로세스(예컨대, 포어그라운드 프로세스)에 대해서보다, 보다 낮은 우선순위를 갖는 프로세스(예컨대, 백그라운드 프로세스)에 대해, 수신 윈도우에 대한 보다 큰 조정이 이루어질 수 있다. 조정이 우선순위에 의해 영향을 받지 않는다면, 조정은 추가 변경 없이 수신 윈도우에 적용된다. 조정이 프로세스의 우선순위에 의해 영향을 받는다면, 조정은 우선순위에 기초하여 스케일링된다(동작 714). 수신 윈도우에 대한 모든 조정이 이루어진 후에, 조정은 새로운 크기의 수신 윈도우를 포함하는 확인응답 패킷을 전송자로 송신함으로써 영향을 받을 수 있다.
수신 윈도우에 대한 조정은 네트워크 링크를 통한 전송자로부터의 패킷의 수신 동안 계속될 수 있다(동작 716). 수신 윈도우에 대한 조정이 계속되어야 한다면, 패킷들의 도착간 지연은 지속적으로 모니터링되고(동작 702), 전송자에 대한 수신 윈도우는 패킷들의 도착간 지연 및/또는 패킷들과 관련된 프로세스의 우선순위에 기초하여 조정된다(동작 704 내지 714). 수신 윈도우에 대한 조정 및/또는 네트워크 링크를 통한 네트워크 트래픽의 흐름은 네트워크 링크가 더 이상 전송자로부터 패킷을 수신하는 데 사용되지 않을 때까지 계속될 수 있다. "지속적인" 모니터링은 주기적으로 모니터링하는 것 또는 사전결정된 스케줄에 따라 (예컨대, 네트워크 트래픽 레벨 등에 따라) 모니터링하는 것을 의미할 수 있음에 주목한다.
도 8은 일 실시예에 따른 컴퓨터 시스템(800)을 도시한다. 컴퓨터 시스템(800)은 프로세서(802), 메모리(804), 스토리지(806), 및/또는 전자 컴퓨팅 디바이스에서 발견되는 다른 컴포넌트를 포함하는 장치에 대응할 수 있다. 프로세서(802)는 컴퓨터 시스템(800) 내의 다른 프로세서와의 병렬 처리 및/또는 멀티-스레드식 동작을 지원할 수 있다. 컴퓨터 시스템(800)은 또한 키보드(808), 마우스(810), 및 디스플레이(812)와 같은 입력/출력(I/O) 디바이스를 포함할 수 있다.
컴퓨터 시스템(800)은 본 실시예의 다양한 컴포넌트를 실행시키는 기능을 포함할 수 있다. 특히, 컴퓨터 시스템(800)은 컴퓨터 시스템(800) 상의 하드웨어 및 소프트웨어 리소스의 사용을 조정하는 운영 체제(도시되지 않음)뿐만 아니라, 사용자를 위한 전문화된 태스크들을 수행하는 하나 이상의 애플리케이션을 포함할 수 있다. 사용자를 위한 태스크를 수행하기 위해, 애플리케이션은 운영 체제로부터 컴퓨터 시스템(800) 상의 하드웨어 리소스의 사용을 획득할 뿐만 아니라, 운영 체제에 의해 제공되는 하드웨어 및/또는 소프트웨어 프레임워크를 통해 사용자와 상호작용할 수 있다.
하나 이상의 실시예에서, 컴퓨터 시스템(800)은 네트워크 링크의 사용을 용이하게 하기 위한 시스템을 제공한다. 시스템은 네트워크 링크를 통해 전송자로부터 수신되는 패킷들의 도착간 지연을 지속적으로 모니터링하는 모니터링 장치를 포함할 수 있다. 시스템은 또한 네트워크 링크를 통한 전송자 및 다른 전송자로부터의 후속 패킷의 수신을 용이하게 하기 위해 도착간 지연에 기초하여 전송자에 대한 수신 윈도우를 조정하는 관리 장치를 포함할 수 있다. 관리 장치는 또한 패킷과 관련된 프로세스의 우선순위에 기초하여 수신 윈도우를 조정할 수 있다.
또한, 컴퓨터 시스템(800)의 하나 이상의 컴포넌트는 원격에 위치되고 네트워크를 통해 다른 컴포넌트에 접속될 수 있다. 본 실시예들 중 일부(예컨대, 모니터링 장치, 관리 장치 등)는 또한 그 실시예를 구현하는 분산형 시스템의 상이한 노드들 상에 위치될 수 있다. 예를 들어, 본 실시예는, 한 세트의 원격 컴퓨터 시스템들에서 프로세스들에 대한 도착간 지연을 모니터링하고 도착간 지연 및/또는 프로세스들의 우선순위에 기초하여 프로세스에 대한 수신 윈도우를 조정하는 원격 네트워크 트래픽 제어 시스템을 사용하여 구현될 수 있다.
다양한 실시예들에 대한 상기의 설명은 단지 예시 및 설명의 목적으로 제시되었다. 상기의 설명은 총망라하는 것으로, 또는 본 발명을 개시된 형태로 제한하는 것으로 의도되지 않는다. 따라서, 많은 수정 및 변화가 당업자에게 명백할 것이다. 또한, 상기의 개시내용은 본 발명을 제한하는 것으로 의도되지 않는다.

Claims (24)

  1. 네트워크 링크의 사용을 용이하게 하기 위한 컴퓨터-구현 방법으로서,
    상기 네트워크 링크를 통해 전송자로부터 수신되는 패킷들의 도착간 지연(interarrival delay)을 수신기에서 모니터링하는 단계; 및
    상기 네트워크 링크를 통한 상기 전송자 및 다른 전송자들로부터의 후속 패킷들의 수신을 용이하게 하기 위해 상기 도착간 지연에 기초하여 상기 전송자에 대한 수신 윈도우(receive window)를 조정하는 단계를 포함하고,
    상기 수신 윈도우에 대한 조정은 상기 수신기에서 컴퓨터 시스템 상에 실행되는 프로세스의 우선순위에 기초하여 스케일링되고(scaled), 상기 프로세스는 상기 패킷들과 연관되는, 컴퓨터-구현 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 프로세스는 포어그라운드 프로세스(foreground process) 또는 백그라운드 프로세스(background process)인, 컴퓨터-구현 방법.
  4. 삭제
  5. 제1항에 있어서, 상기 도착간 지연에 기초하여 상기 전송자에 대한 상기 수신 윈도우를 조정하는 단계는,
    상기 도착간 지연이 제1 사전-규정된 마진(margin)만큼 임계치를 초과하는 경우, 상기 수신 윈도우를 감소시키는 단계; 및
    상기 도착간 지연이 제2 사전-규정된 마진만큼 상기 임계치 아래에 있는 경우, 상기 수신 윈도우를 증가시키는 단계를 수반하는, 컴퓨터-구현 방법.
  6. 제1항에 있어서, 상기 전송자에 대한 상기 수신 윈도우를 조정하는 단계는,
    새로운 크기의 상기 수신 윈도우를 포함하는 확인응답 패킷을 상기 전송자로 송신하는 단계를 수반하는, 컴퓨터-구현 방법.
  7. 제1항에 있어서, 상기 네트워크 링크는 WiFi 네트워크 링크 또는 이동 전화 네트워크 링크 중 하나인, 컴퓨터-구현 방법.
  8. 제1항에 있어서, 상기 수신 윈도우는 상기 네트워크 링크의 샘플링과 관련된 최소 수신 윈도우 아래로 감소되지 않는, 컴퓨터-구현 방법.
  9. 네트워크 링크의 사용을 용이하게 하기 위한 시스템으로서,
    상기 네트워크 링크를 통해 전송자로부터 수신되는 패킷들의 도착간 지연을 수신기에서 모니터링하도록 구성된 모니터링 장치; 및
    상기 네트워크 링크를 통한 상기 전송자 및 다른 전송자들로부터의 후속 패킷들의 수신을 용이하게 하기 위해 상기 도착간 지연에 기초하여 상기 전송자에 대한 수신 윈도우를 조정하도록 구성된 관리 장치를 포함하고,
    상기 수신 윈도우에 대한 조정은 상기 수신기에서 컴퓨터 시스템 상에 실행되는 프로세스의 우선순위에 기초하여 스케일링되고, 상기 프로세스는 상기 패킷들과 연관되는, 시스템.
  10. 삭제
  11. 제9항에 있어서, 상기 프로세스는 포어그라운드 프로세스 또는 백그라운드 프로세스인, 시스템.
  12. 삭제
  13. 제9항에 있어서, 상기 도착간 지연에 기초하여 상기 전송자에 대한 상기 수신 윈도우를 조정하는 것은,
    상기 도착간 지연이 제1 사전-규정된 마진만큼 임계치를 초과하는 경우, 상기 수신 윈도우를 감소시키는 것; 및
    상기 도착간 지연이 제2 사전-규정된 마진만큼 상기 임계치 아래에 있는 경우, 상기 수신 윈도우를 증가시키는 것을 수반하는, 시스템.
  14. 제9항에 있어서, 상기 전송자에 대한 상기 수신 윈도우를 조정하는 것은,
    새로운 크기의 상기 수신 윈도우를 포함하는 확인응답 패킷을 상기 전송자로 송신하는 것을 수반하는, 시스템.
  15. 제9항에 있어서, 상기 네트워크 링크는 WiFi 네트워크 링크 또는 이동 전화 네트워크 링크 중 하나인, 시스템.
  16. 제9항에 있어서, 상기 수신 윈도우는 상기 네트워크 링크의 샘플링과 관련된 최소 수신 윈도우 아래로 감소되지 않는, 시스템.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020147025826A 2012-02-17 2013-02-14 네트워크 트래픽에서의 도착간 지연의 감소 KR101608612B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/399,860 US8699339B2 (en) 2012-02-17 2012-02-17 Reducing interarrival delays in network traffic
US13/399,860 2012-02-17
PCT/US2013/026226 WO2013123261A2 (en) 2012-02-17 2013-02-14 Reducing interarrival delays in network traffic

Publications (2)

Publication Number Publication Date
KR20140134678A KR20140134678A (ko) 2014-11-24
KR101608612B1 true KR101608612B1 (ko) 2016-04-01

Family

ID=47843393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147025826A KR101608612B1 (ko) 2012-02-17 2013-02-14 네트워크 트래픽에서의 도착간 지연의 감소

Country Status (7)

Country Link
US (2) US8699339B2 (ko)
EP (1) EP2792190B1 (ko)
JP (1) JP6029074B2 (ko)
KR (1) KR101608612B1 (ko)
CN (1) CN104145459B (ko)
TW (1) TWI498018B (ko)
WO (1) WO2013123261A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8699339B2 (en) * 2012-02-17 2014-04-15 Apple Inc. Reducing interarrival delays in network traffic
KR101491639B1 (ko) * 2012-11-15 2015-02-09 (주)씨디네트웍스 통신망의 종류를 구분하는 방법 및 이를 이용한 콘텐츠 제공 방법
WO2015196385A1 (zh) 2014-06-25 2015-12-30 华为技术有限公司 确定传输缓存量的方法和设备
US9804951B2 (en) 2014-10-08 2017-10-31 Signalfx, Inc. Quantization of data streams of instrumented software
US9760353B2 (en) 2014-12-19 2017-09-12 Signalfx, Inc. Dynamically changing input data streams processed by data stream language programs
US10122640B2 (en) * 2015-01-26 2018-11-06 LiveQoS Inc. Minimal buffer network arbiter
US10394692B2 (en) * 2015-01-29 2019-08-27 Signalfx, Inc. Real-time processing of data streams received from instrumented software
WO2016144226A1 (en) * 2015-03-06 2016-09-15 Telefonaktiebolaget Lm Ericsson (Publ) Multi-user packet transmission, clustering and/or scheduling in a wireless local area network
CN106470448B (zh) * 2015-08-14 2020-10-30 中兴通讯股份有限公司 一种基站的信令接收方法和装置
US9668209B1 (en) * 2016-06-29 2017-05-30 Silicon Laboratories Finland Oy Listening window adjustments for power savings in bluetooth low energy (BLE) communications
JP6691298B2 (ja) * 2016-08-15 2020-04-28 富士通株式会社 パケット解析プログラム、パケット解析方法およびパケット解析装置
CN107302533A (zh) * 2017-06-19 2017-10-27 网宿科技股份有限公司 流媒体直播方法、系统及装置
US10524159B2 (en) * 2017-09-07 2019-12-31 Iridium Satellite Llc Managing congestion in a satellite communications network
CN107708199B (zh) * 2017-09-26 2021-01-26 南京哈卢信息科技有限公司 一种提高低功耗无线蜂窝网下行可靠性的方法
WO2019231453A1 (en) * 2018-05-31 2019-12-05 Hewlett-Packard Development Company, L.P. Packets transmissions based on priority levels
US11226663B2 (en) * 2018-06-29 2022-01-18 Intel Corporation Methods, systems, articles of manufacture and apparatus to reduce temperature of a networked device
WO2020057746A1 (en) * 2018-09-20 2020-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Technique for performing analysis of an rtp flow
KR102624295B1 (ko) * 2021-08-03 2024-01-11 중앙대학교 산학협력단 시민감 네트워크 환경에서의 시제어 스케줄링 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020080721A1 (en) 2000-12-22 2002-06-27 Tobagi Fouad A. System and method for controlling data transfer rates on a network
US20070223529A1 (en) 2005-11-23 2007-09-27 Ist International, Inc. Methods and apparatus for estimating bandwidth of a data network
US20070280111A1 (en) * 2006-05-30 2007-12-06 Martin Lund Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch
US7516238B2 (en) 2003-09-30 2009-04-07 Microsoft Corporation Background transport service

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63232550A (ja) * 1987-03-19 1988-09-28 Fujitsu Ltd ホスト・通信制御処理装置間のウインドウサイズ制御方式
JP3231941B2 (ja) * 1994-05-06 2001-11-26 日本電信電話株式会社 輻輳防止方法およびパケット通信システム
US6052726A (en) * 1997-06-30 2000-04-18 Mci Communications Corp. Delay calculation for a frame relay network
US6272110B1 (en) * 1997-10-10 2001-08-07 Nortel Networks Limited Method and apparatus for managing at least part of a communications network
US6026442A (en) * 1997-11-24 2000-02-15 Cabletron Systems, Inc. Method and apparatus for surveillance in communications networks
US6012096A (en) * 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
US6594238B1 (en) * 1998-06-19 2003-07-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for dynamically adapting a connection state in a mobile communications system
BR9912121A (pt) * 1998-07-16 2001-04-10 Siemens Ag Processo e disposição de circuito para produção de ligações de sinal de dados
US6516348B1 (en) * 1999-05-21 2003-02-04 Macfarlane Druce Ian Craig Rattray Collecting and predicting capacity information for composite network resource formed by combining ports of an access server and/or links of wide arear network
US6556659B1 (en) * 1999-06-02 2003-04-29 Accenture Llp Service level management in a hybrid network architecture
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
AU1321801A (en) * 1999-10-29 2001-05-08 Forskarpatent I Vastsverige Ab Method and arrangements for congestion control in packet networks using thresholds and demoting of packet flows
US6606744B1 (en) * 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US20040153563A1 (en) * 2002-03-29 2004-08-05 Shay A. David Forward looking infrastructure re-provisioning
KR101228854B1 (ko) * 2005-03-14 2013-02-01 코닌클리케 필립스 일렉트로닉스 엔.브이. 서비스 차별화된 무선 네트워크에서 QoS를 측정하고감시하는 방법
TW200816719A (en) * 2006-08-23 2008-04-01 Matsushita Electric Ind Co Ltd Communication equipment
JP4627290B2 (ja) * 2006-09-29 2011-02-09 Kddi株式会社 Tcpを用いたレート制御方法、サーバ及びプログラム
WO2011074116A1 (ja) * 2009-12-18 2011-06-23 三菱電機株式会社 優先制御装置、車載装置および優先制御方法
JP5550438B2 (ja) * 2010-04-30 2014-07-16 株式会社Kddi研究所 ウィンドウ制御装置、ウィンドウ制御方法およびウィンドウ制御プログラム
US8699339B2 (en) * 2012-02-17 2014-04-15 Apple Inc. Reducing interarrival delays in network traffic

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020080721A1 (en) 2000-12-22 2002-06-27 Tobagi Fouad A. System and method for controlling data transfer rates on a network
US7516238B2 (en) 2003-09-30 2009-04-07 Microsoft Corporation Background transport service
US20070223529A1 (en) 2005-11-23 2007-09-27 Ist International, Inc. Methods and apparatus for estimating bandwidth of a data network
US20070280111A1 (en) * 2006-05-30 2007-12-06 Martin Lund Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch

Also Published As

Publication number Publication date
TW201342949A (zh) 2013-10-16
EP2792190A2 (en) 2014-10-22
US20130215746A1 (en) 2013-08-22
WO2013123261A3 (en) 2014-02-20
CN104145459A (zh) 2014-11-12
KR20140134678A (ko) 2014-11-24
JP2015510740A (ja) 2015-04-09
EP2792190B1 (en) 2018-03-28
US20140192649A1 (en) 2014-07-10
CN104145459B (zh) 2017-10-31
TWI498018B (zh) 2015-08-21
JP6029074B2 (ja) 2016-11-24
US9247449B2 (en) 2016-01-26
US8699339B2 (en) 2014-04-15
WO2013123261A2 (en) 2013-08-22

Similar Documents

Publication Publication Date Title
KR101608612B1 (ko) 네트워크 트래픽에서의 도착간 지연의 감소
US20210092035A1 (en) Systems and methods for dynamic bandwidth allocation and optimization
US9455922B2 (en) Technologies for moderating packet ingress interrupt generation
KR101670642B1 (ko) 클라이언트 디바이스 상에서의 패킷 송신을 스케줄링하기 위한 시스템 및 방법
JP4791322B2 (ja) 帯域幅保証を伴う適応性帯域幅制御のための方法及び装置
US10735554B1 (en) System for controlling use of a network
US10965613B2 (en) Multi-pipe bandwidth control in hosted systems
US9705733B2 (en) Systems and methods for throttling polling
WO2022169602A1 (en) Dynamic network receiver-driven data scheduling over a datacenter network for managing endpoint resources and congestion mitigation
US9413672B2 (en) Flow control for network packets from applications in electronic devices
EP4037272A1 (en) Data processing method and device
KR20150050085A (ko) 무선 환경에서 usb 통신을 위한 버퍼 관리 방법 및 장치
Lu et al. FAMD: A Flow-Aware Marking and Delay-based TCP algorithm for datacenter networks
CN102113276B (zh) 控制经由数据通信链路的数据流的方法和装置
WO2022213923A1 (zh) 传输处理方法、装置及通信设备
US20150288608A1 (en) Data streaming scheduler for dual chipset architectures that includes a high perforamnce chipset and a low performance chipset
Rezaei et al. Resqueue: A smarter datacenter flow scheduler
Liu et al. L2BM: Switch Buffer Management for Hybrid Traffic in Data Center Networks
WO2016088371A1 (ja) 管理ノード、端末、通信システム、通信方法、および、プログラム記録媒体
WO2023119511A1 (ja) 通信装置、通信システム、及び通信方法
Wang et al. Congestion Control with Receiver-Aided Network Status Awareness in RDMA Transmission
Wang et al. Multiple services scheduling scheme of service stratum in integrated sensing network
WO2022115774A1 (en) Systems and methods for dynamic bandwidth allocation and optimization

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 5