Method and system FPOR transferring data to improve responsiveness when sending large data sets
First Claim
1. A method of minimizing network latency comprising the steps of:
- sending a request for an image data file from a client computer, including inserting one or more first timestamp messages into the request for the image data file at an application level;
transferring the request and the one or more first timestamp messages to a server using a standard Transmission Communications Protocol (TCP) connection;
receiving the one or more first timestamp messages at the server, where a timestamp is inserted into the one or more first timestamp messages;
calculating one or more first times for the one or more first timestamp messages and a current send bandwidth (bsend) in bytes/msec;
sending one or more second timestamp messages from the server to the client computer, where a timestamp is inserted into the one or more second timestamp messages;
sending the one or more second timestamp messages from the client computer to the server;
receiving the one or more second timestamp messages from the client computer at the server;
calculating one or more second times for the one or more second timestamp messages, where the one or more second timestamp messages are used to compute read bandwidth (bread), where bread=C/T, where C=ci−
ci−
1, where C is an amount of data that was read in a time between a last two timestamp messages (ci, ci−
1), and T=ti−
ti−
1+di−
di−
1 is the time elapsed on the client computer between the last two timestamp messages, where ti−
ti−
1 is the time elapsed on the server between the last two timestamp messages, and di and di−
1 are differences between client computer time and server time when the messages arrived at the client computer;
calculating a best estimate of network bandwidth (best) in bytes/sec based on one or more of the one or more first times and the one or more second times;
determining situations where network latency in sending the image data file based on one or more of bsend, bread and best has increased; and
using one or more of bsend, bread and best to one or both reduce and modify client computer requests to minimize network latency.
2 Assignments
0 Petitions
Accused Products
Abstract
Most of the internet traffic today is carried out via the Transmission Control Protocol (TCP). The main advantage of TCP is that it provides reliable data transfer to the application layer and simplifies programming. The protocol maximizes data throughput but may also lead to noticeable transmission delay in wide area networks (WAN). A client-server based medical image viewing system is disclosed that achieves high data throughput over TCP without impacting responsiveness. Special timestamp messages inserted into the data stream allow the system to detect situations where network latency increases noticeably and to obtain a reliable estimate of sustained transfer bandwidth. The system applies a feedback scheme that avoids network delays by limiting send bandwidth. In addition other parameters, in particular image compression settings, are dynamically adjusted depending on current network quality.
-
Citations
20 Claims
-
1. A method of minimizing network latency comprising the steps of:
-
sending a request for an image data file from a client computer, including inserting one or more first timestamp messages into the request for the image data file at an application level; transferring the request and the one or more first timestamp messages to a server using a standard Transmission Communications Protocol (TCP) connection; receiving the one or more first timestamp messages at the server, where a timestamp is inserted into the one or more first timestamp messages; calculating one or more first times for the one or more first timestamp messages and a current send bandwidth (bsend) in bytes/msec; sending one or more second timestamp messages from the server to the client computer, where a timestamp is inserted into the one or more second timestamp messages; sending the one or more second timestamp messages from the client computer to the server; receiving the one or more second timestamp messages from the client computer at the server; calculating one or more second times for the one or more second timestamp messages, where the one or more second timestamp messages are used to compute read bandwidth (bread), where bread=C/T, where C=ci−
ci−
1, where C is an amount of data that was read in a time between a last two timestamp messages (ci, ci−
1), and T=ti−
ti−
1+di−
di−
1 is the time elapsed on the client computer between the last two timestamp messages, where ti−
ti−
1 is the time elapsed on the server between the last two timestamp messages, and di and di−
1 are differences between client computer time and server time when the messages arrived at the client computer;calculating a best estimate of network bandwidth (best) in bytes/sec based on one or more of the one or more first times and the one or more second times; determining situations where network latency in sending the image data file based on one or more of bsend, bread and best has increased; and using one or more of bsend, bread and best to one or both reduce and modify client computer requests to minimize network latency. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of identifying network latency comprising the steps of:
-
sending a request for an image file from a client computer, including inserting a first timestamp message into the request for the image data file at an application level; transferring the request and the first timestamp message to a server using a standard Transmission Communications Protocol (TCP) connection; receiving the first timestamp message at the server, where a timestamp is inserted into the first timestamp message; calculating a first time for the first timestamp message to be sent from the client computer to the server and a current send bandwidth (bsend) in bytes/msec; sending one or more second timestamp messages from the server to the client computer, where a timestamp is inserted into the second timestamp message; returning the one or more second timestamp messages from the client computer to the server; receiving the one or more second timestamp messages from the client computer at the server; calculating a second time and subsequent times taken for the one or more second timestamp messages to be sent from the client computer to the server, where the one or more second timestamp messages are used to compute read bandwidth (bread), where bread=C/T, where C=ci−
ci−
1, where C is an amount of data C that was read in a time between a last two timestamp messages (ci, ci−
1), and T=ti−
ti−
1+di−
di−
1 is the time elapsed on the client computer between the last two timestamp messages where ti−
ti−
1 is the time elapsed on the server between the last two timestamp messages and di and di−
1 are differences between client computer time and server time when the messages arrived at the client computer;calculating a best estimate of network bandwidth (best) based on one or more of the first time, the second time and the subsequent times; and using one or more of bsend, bread and best to determine network latency in sending the image data file. - View Dependent Claims (20)
-
Specification