Methods, systems, and computer readable media for controlling Tx and Rx throughput over TCP
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04L-012/26
H04L-012/801
H04L-012/807
출원번호
US-0567747
(2012-08-06)
등록번호
US-9178790
(2015-11-03)
발명자
/ 주소
Majumdar, Partha
Pyatkovskiy, Maksim
출원인 / 주소
Ixia
대리인 / 주소
Jenkins, Wilson, Taylor & Hunt, P.A.
인용정보
피인용 횟수 :
1인용 특허 :
65
초록▼
A first node that transmits TCP packets to and receives TCP packets from a second node splits a target TCP packet throughput across multiple consecutive time slots, each slot having a target throughput value. If a current slot's achieved throughput value does not match the current slot's target thro
A first node that transmits TCP packets to and receives TCP packets from a second node splits a target TCP packet throughput across multiple consecutive time slots, each slot having a target throughput value. If a current slot's achieved throughput value does not match the current slot's target throughput value, the target throughput value for the current slot and/or a subsequent slot is adjusted. Transmit throughput from the first node to the second node is controlled by transmitting TCP packets from the first node to the second node according to a target throughput value for the current slot. Receive throughput from the second node to the first node is controlled by dynamically calculating an advertised receive window size according to a target throughput value for the current slot and communicating the advertised receive window size to the second node.
대표청구항▼
1. A method for controlling transmit and receive throughput over TCP, the method comprising: at a first node that transmits TCP packets to and receives TCP packets from a second node: splitting a target TCP packet throughput across a plurality of consecutive time slots, each slot having a target thr
1. A method for controlling transmit and receive throughput over TCP, the method comprising: at a first node that transmits TCP packets to and receives TCP packets from a second node: splitting a target TCP packet throughput across a plurality of consecutive time slots, each slot having a target throughput value, wherein the target throughput value for each of the time slots is apportioned among one or more active sessions;determining whether an achieved throughput value for a current slot matches the target throughput value for the current slot;upon a determination that the achieved throughput value for the current slot does not match the target throughput value for the current slot, adjusting the target throughput value for at least one of the current slot and a subsequent slot;controlling transmit throughput from the first node to the second node by transmitting TCP packets from the first node to the second node according to the target throughput value for the current slot; andcontrolling receive throughput from the second node to the first node by dynamically calculating an advertised receive window size according to the target throughput value for the current slot and communicating the advertised receive window size to the second node. 2. The method of claim 1 wherein for each slot, the target throughput value is shared by a plurality of sessions and wherein the target throughput value is divided among the plurality of sessions, wherein each of the plurality of sessions has its own target throughput value that is a portion of the target throughput value for that slot. 3. The method of claim 1 wherein determining whether the achieved throughput value matches the target throughput value for the current slot comprises determining, for each of the plurality of sessions, whether that session's achieved throughput value matches that session's target throughput for the current slot. 4. The method of claim 3 wherein, for each of the plurality of sessions, upon a determination that that session's achieved throughput value exceeds that session's target throughput for the current slot, that session is placed into a queue and transmission of data for that session is suspended at least until the next slot. 5. The method of claim 1wherein the advertised receive window size is initially calculated for a new connection between the first and second nodes. 6. The method of claim 1 wherein controlling transmit throughput includes adjusting the target throughput for the current slot or the subsequent slot based on the amount of data sent during the current slot. 7. The method of claim 1 wherein controlling receive throughput includes adjusting the advertised receive window based on at least one of: the amount of data received, the available throughput, the last advertised value of the receive window, and the number of parallel connections that are supported for the current slot. 8. The method of claim 1 comprising determining whether the advertised receive window size is reduced below a threshold value, and, in response to determining that the advertised receive window size is reduced below a threshold value, resetting the advertised receive window size to a default value at the subsequent slot. 9. The method of claim 8 wherein at least one of the threshold value and the default value comprises an equal distribution value. 10. The method of claim 1 comprising, for one of the at least one session: monitoring cumulative throughput for the session over a plurality of slots;comparing the cumulative throughput for the session to a threshold value; andadjusting, based on the comparison, the target throughput value for the session. 11. A system for controlling transmit and receive throughput over TCP, the system comprising: a first node having a network interface for transmitting TCP packets to and receiving TCP packets from a second node over a packet network, the first node having a throughput control module for: splitting a target TCP packet throughput across a plurality of consecutive time slots, each slot having a target throughput value, wherein the target throughput value for each of the time slots is apportioned among one or more active sessions;determining whether an achieved throughput value for a current slot matches the target throughput value for the current slot; andupon a determination that the achieved throughput value for the current slot does not match the target throughput value for the current slot, adjusting the target throughput value for at least one of the current slot and a subsequent slot;wherein the throughput control module controls transmit throughput from the first node to the second node by transmitting TCP packets from the first node to the second node according to the target throughput value for the current slot and wherein the throughput control module controls receive throughput from the second node to the first node by dynamically calculating an advertised receive window size according to the target throughput value for the current slot and communicating the advertised receive window size to the second node. 12. The system of claim 11 wherein for each slot, the target throughput value is shared by a plurality of sessions and wherein the control module apportions the target throughput value among the plurality of sessions, wherein each of the plurality of sessions has its own target throughput value that is a portion of the target throughput value for that slot. 13. The system of claim 11 wherein determining whether the achieved throughput value matches the target throughput value for the current slot comprises determining, for each of the plurality of sessions, whether that session's achieved throughput value matches that session's target throughput for the current slot. 14. The system of claim 13 wherein, for each of the plurality of sessions, upon a determination that that session's achieved throughput value exceeds that session's target throughput for the current slot, that session is placed into a queue and transmission of data for that session is suspended at least until the next slot. 15. The system of claim 11 wherein the advertised receive window size is initially calculated for a new session between the first and second nodes. 16. The system of claim 11 wherein the throughput control module controls transmit throughput by adjusting the target throughput for the current slot or the subsequent slot based on the amount of data sent during the current slot. 17. The system of claim 11 wherein the throughput control module controls receive throughput by adjusting the advertised receive window based on at least one of: the amount of data received, the available throughput, the last advertised value of the receive window, and the number of parallel sessions that are supported for the current slot. 18. The system of claim 11 wherein the throughput control module determines whether the advertised receive window size is reduced below a threshold value, and, in response to determining that the advertised receive window size is reduced below a threshold value, resets the advertised receive window size to a default value at the subsequent slot. 19. The system of claim 18 wherein at least one of the threshold value and the default value comprises an equal distribution value. 20. A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor of a computer control the computer to perform steps comprising: splitting a target TCP packet throughput across a plurality of consecutive time slots, each slot having a target throughput value, wherein the target throughput value for each of the time slots is apportioned among one or more active sessions;determining whether an achieved throughput value for a current slot matches the target throughput value for the current slot;upon a determination that the achieved throughput value for the current slot does not match the target throughput value for the current slot, adjusting the target throughput value for at least one of the current slot and a subsequent slot;controlling transmit throughput from the first node to the second node by transmitting TCP packets from the first node to the second node according to the target throughput value for the current slot; andcontrolling receive throughput from the second node to the first node by dynamically calculating an advertised receive window size according to the target throughput value for the current slot and communicating the advertised receive window size to the second node.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (65)
Bennett Toby D. ; Davis Donald J. ; Harris Jonathan C. ; Miller Ian D., Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently.
Schwaller Peter James ; Walker ; II John Quillian ; Joyce Steven Thomas ; Huntley Timothy Scott, Endpoint node systems computer program products for application traffic based communications network performance testing.
Ginsberg, Errol; Alston, Victor; Wild, III, Aloysius Arthur; Sheth, Ankur; Liu, Winston; Periakaruppan, Ram, Generating traffic for testing a system under test.
Narayan,Purnendu; Goradia,Dinesh; Jha,Chirag Nareshkumar; Duvur,Ramu; Mitra,Kashinath, Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands.
Wygodny Shlomo (Ramat Hasharon ILX) Zohar Shahar (Rfar Saba ILX) Azulay Alex (Herzlia ILX) Slonim Yochanan (Herzlia ILX) Weinbaum David (Tel Aviv ILX), Interactive system for developing tests of system under test allowing independent positioning of execution start and sto.
Ross Ken (Santa Cruz CA) Margozzi Michael (San Jose CA) White Kevin (Los Gatos CA) First Carl (San Jose CA), Method and apparatus for analyzing networks.
Watanabe Yutaka,JPX ; Muraki Yasuaki,JPX ; Nakagawa Takashi,JPX, Method and apparatus for simulating a computer network system through collected data from the network.
Tsun, William; Chandra, Vikas; Wood, John Lee; Schwaller, Peter James, Methods, systems and computer program products for coordination of operations for interrelated tasks.
Peter James Schwaller ; John Quillian Walker, II ; Steven Thomas Joyce ; Timothy Scott Huntley, Methods, systems and computer program products for endpoint pair based communications network performance testing.
Schwaller Peter James ; Walker II John Quillian ; Joyce Steven Thomas ; Huntley Timothy Scott, Methods, systems and computer program products for endpoint pair based communications network performance testing.
Schwaller, Peter James; Bellinghausen, Joan Marie; Borger, Dana Scott; Hicks, Jeffrey Todd; Joyce, Steven Thomas; McCorry, Mark Eric; Selvaggi, Christopher David; Zelek, Mark Clarence, Methods, systems and computer program products for network performance testing through active endpoint pair based testing and passive application monitoring.
Vikas Chandra ; Mark Eric McCorry ; David Vi Hien Quan ; Peter James Schwaller ; Christopher David Selvaggi ; John Lee Wood, Methods, systems and computer program products for scheduled network performance testing.
Schwaller Peter James ; Walker ; II John Quillian ; Joyce Steven Thomas ; Huntley Timothy Scott, Methods, systems and computer program products for test scenario based communications network performance testing.
Mayton, Kim Irvin; Bellinghausen, Joan Marie; Schwaller, Peter James, Methods, systems and computer program products for tracking network device performance.
Krause Jeffrey (Los Altos CA) Strohl Niles E. (Tracy CA) Seaman Michael J. (San Jose CA) Russell Steven P. (Menlo Park CA) Hart John H. (Saratoga CA), Multifunction network station with network addresses for functional units.
Krause Jeffrey (Los Altos CA) Strohl Niles E. (Tracy CA) Seaman Michael J. (San Jose CA) Russell Steven P. (Menlo Park CA) Hart John H. (Saratoga CA), Network station with multiple network addresses.
Narad Charles E. ; Fall Kevin ; MacAvoy Neil ; Shankar Pradip ; Rand Leonard M. ; Hall Jerry J., Packet processing system including a policy engine having a classification unit.
van Tetering Johannes A. M. (Zevenbergen NLX) Denissen Frank L. (Boom BEX), Performance measurement system for a telecommunication path and device used therein.
Charles E. Narad ; Kevin Fall ; Neil MacAvoy ; Pradip Shankar ; Leonard M. Rand ; Jerry J. Hall, Platform permitting execution of multiple network infrastructure applications.
Charles E. Narad ; Kevin Fall ; Neil MacAvoy ; Pradip Shankar ; Leonard M. Rand ; Jerry J. Hall, Programmable system for processing a partitioned network infrastructure.
Amir Weinberg IL; Eran Leshem IL; Maxim Kholmyansky IL; Amos Garri IL; Nisim Tapiro IL; Meni Hillel, Software system and methods for testing the functionality of a transactional server.
Hershey Paul C. (Manassas VA) Waclawsky John G. (Frederick MD), System and method for a workstation monitoring and control of multiple networks having different protocols.
Broda, Tal; Solnit, Matt; Gardner, Kenneth C.; Powers, Craig; Hemmert, Michael; Vazac, Charles; Cosby, Kendall, System and method for provisioning and running a cross-cloud test grid.
Broda, Tal; Solnit, Matthew; Gardner, Kenneth C.; Powers, Craig R.; Hemmert, Michael; Vazac, Charles A.; Cosby, Kendall, System and method for provisioning and running a cross-cloud test grid.
Toby D. Bennett ; Donald J. Davis ; Jonathan C. Harris ; Ian D. Miller, System for transmitting and receiving data within a reliable communications protocol by concurrently processing portions of the protocol suite.
Kapoor, Harsh; Akerman, Moisey; Justus, Stephen D.; Ferguson, JC; Korsunsky, Yevgeny; Gallo, Paul S.; Lee, Charles Ching; Martin, Timothy M.; Fu, Chunsheng; Xu, Weidong, Systems and methods for processing data flows.
Kapoor, Harsh; Akerman, Moisey; Justus, Stephen D.; Ferguson, John C.; Korsunsky, Yevgeny; Gallo, Paul S.; Lee, Charles Ching; Martin, Timothy M.; Fu, Chunsheng; Xu, Weidong, Systems and methods for processing data flows.
Schwaller Peter James ; Walker ; II John Quillian ; Joyce Steven Thomas ; Huntley Timothy Scott, Systems, methods and computer program products for applications traffic based communications network performance testing.
Jolitz William Frederick ; Lawson Matthew Todd ; Jolitz Lynne Greer, TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols.
Majumdar, Partha; Chitradurga, Rohan; Belov, Konstantin, Methods, systems, and computer readable media for classifying application traffic received at a network traffic emulation device that emulates multiple application servers.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.