WO2001054370A2 - Procede et systeme pour le transfert de fichiers segmentes - Google Patents
Procede et systeme pour le transfert de fichiers segmentes Download PDFInfo
- Publication number
- WO2001054370A2 WO2001054370A2 PCT/CA2001/000056 CA0100056W WO0154370A2 WO 2001054370 A2 WO2001054370 A2 WO 2001054370A2 CA 0100056 W CA0100056 W CA 0100056W WO 0154370 A2 WO0154370 A2 WO 0154370A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- segments
- client
- file
- protocol
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- the present invention relates generally to data transfer via a telecommunication system. More particularly, the present invention relates to a method and system for segmented file transfer over a communications network, such as the Internet.
- the Internet has seen tremendous growth within the last few years.
- One of the main reasons for its popularity is quick and easy access to a wide variety of data from remote locations.
- the size of the data varies extensively. It might be a small web page, a relatively large multimedia file, a large video file or an extremely large archive (e.g., a new version of Netscape).
- Internet users tend to complain about the time that they waste sitting behind their computers, waiting for data.
- latency is a big concern. Latency comes from different sources. For instance, if a server is overloaded or has a slow disk, it imposes a considerable delay before processing a request. Or, if a user's computer does not quickly parse the packets being received and process them, further delay is added.
- the latency caused by a server or client can be largely eliminated by using a more powerful computer, more memory, or a faster disk.
- the main portion of the latency perceived by an Internet user is caused by the network itself.
- Some sources of this delay are intrinsic to the network infrastructure, namely, propagation and transmission delays. Fortunately, many Internet users presently have access to a reasonably high-bandwidth Internet connection. Other sources of delay are due to network congestion and router delays (the buffering & processing time involved for routing each packet).
- Yet another source of latency is due to the design/implementation of the Internet protocols themselves; for instance, the delay incurred for retransmission of a lost packet, while using a sliding- window flow control mechanism. These protocols are designed to best match particular network characteristics with the type or size of the data to be transmitted. Therefore, with the evolving nature of the Internet, the protocols are modified occasionally in order to optimize performance.
- HTTP HyperText Transfer Protocol
- TCP Transmission Control Protocol
- mirror servers i.e.; spreading the workload among a cluster of servers rather than a single machine handling the HTTP requests.
- TCP Internet Protocol
- IP Internet Protocol
- ARQ Automatic Repeat reQuest
- TCP was defined in the early eighties when the transmission medium was a communication bottleneck. (There have been numerous modifications to enhance the performance of TCP, such as “selective acknowledgement”, “window scale option”, “round-trip time measurement”, and “protection against wrapped sequence numbers”.)
- TCP is the most widely used transport protocol on the Internet, although somewhat mismatched with the speed and reliability of gigabit class networks.
- TFTP Trivial File Transfer Protocol
- UDP User Datagram Protocol
- TCP File transfer across a network that utilizes TCP as the transport layer protocol is carried out after a bi-directional connection is made between the two parties.
- the TCP connection is considered reliable because TCP guarantees that the data is provided to the application layer in order and without error.
- TCP gives each connection a randomly assigned long (32 bit) sequence of numbers as an identifier to allow a terminal to distinguish between multiple TCP sessions. In essence each TCP connection, when it is created, is assigned one number that it is identified by. Because there are a large number of possible identifiers the probability that two sessions on a single system will have the same identifier is small.
- TCP provides a sliding window mechanism to track packets, and to assist in reassembling them in correct order for the application layer.
- TCP To transmit data, TCP requires the sender to fragment the data into segments, which are then encapsulated in a Transport Protocol Data Unit (TPDU).
- TPDU Transport Protocol Data Unit
- the TPDU has a header containing information about the source, the destination, the session ID, and several other factors.
- the TPDU is transmitted either upon receipt of a push command from the application layer, or when a counter expires.
- a window, the sliding window, is defined and a number of TPDUs are transmitted.
- the receiver sends an acknowledgement (ACK) for each TPDU that is received without error. When the earliest TPDU in the window is acknowledged then the window slides to allow another TPDU to be transmitted.
- ACK acknowledgement
- TCP Upon receiving all the TPDUs that constitute the data being transmitted, TCP provides the completed data to the application layer. This allows TCP to ensure that the data has arrived, and is presented in order without error.
- TCP was designed to be robust in an unreliable environment, and as a result has a high overhead in simple file transfers.
- File Transfer Protocol One of the most widely used file transfer application programs on the Internet is File Transfer Protocol (FTP).
- FTP File Transfer Protocol
- TCP transport layer protocols it is inefficient in moving large data sets in a timely manner due to the overhead required to implement and process acknowledgements and error correction.
- WebNFSTM web network file system
- NFSTM Sun's open standard NFS TM protocol
- Both WebNFS TM and NFS TM allow transparent access to the data on the shared partition, whereby a user can execute applications from the shared partition, and otherwise act as if that partition was a part of their physical machine.
- NFSTM is typically only used on local networks, due to the requirement of reliability and high overhead introduced on larger networks.
- WebNFSTM still uses TCP because of the generally unreliable nature of the Internet, compared to local networks.
- UDP In addition there are several proprietary protocols for file transfer that are based on the UDP where the file transfer application is responsible for the reliable transfer of data.
- UDP itself is a connectionless unreliable transport protocol. UDP relies upon the either network, or the application layer to ensure that messages are transmitted correctly. UDP does have a header, but it is minimal in nature to reduce overhead. UDP was originally designed for short communications where the overhead of establishing a TCP connection would be considered prohibitive.
- DNS Domain Name Servers
- a DNS query typically provides ari alphanumeric string, and the response is a numeric address associated with the alphanumeric string. These requests are short and bursty in nature and thus establishing a connection-oriented session is not needed.
- UDP relies upon a reliable network infrastructure, whereas TCP assumes an unreliable network. Because traditionally UDP requests were only sent over a short topological distance the network was considered reliable.
- file transfer mechanisms can be distributed over a number of servers. Typically this is done through the use of mirrored servers. To ensure data availability, in the face of either network outage, high demand, or other such problem, many servers on the Internet contain copies of the same data set. Because the standard FTP application has the ability to resume a transfer that had been previously terminated it is possible, if a group of mirror servers are known, to have an FTP client concurrently download different segments of the same file from different servers, to reduce the bandwidth limitations incurred on a busy server. This segmenting technique is purely dependent upon the client, and the client performs the re-assembly of the transferred file. Effective architectures for efficiently transferring large data sets however require network and server load performance metrics to be effective.
- a number of servers can be joined together in a load balancing arrangement, so that in the event of heavy demand the demand is spread among a number of servers.
- all client requests are routed to a load-balancing server which determines which server the client request should be routed to.
- U.S. Patent No. 6,078,960 to Ballard entitled “Client-Side Load-Balancing in Client Server Network”, discloses a method of retrieving a file from a plurality of servers without interacting with a load balancing server.
- Ballard discloses a method where the client itself determines the server with the lowest load and directs its transfer to that server. This method requires the use of a local load-balancing lisf hat contains information on servers, including the share of the load that the server should carry, and optionally contains information about the load carried by each server. This information is obtained from one of the servers. The client then uses the list to select a server with the most excess capacity, and begins the transfer with that server. There are protocols available for events such as the unavailability of a selected server that are also disclosed.
- U.S. Patent No. 6,085,251 to Fabozzi III entitled “Implementing a Parallel File Transfer Protocol” discloses a method of transferring a file to a client from a server.
- the method disclosed by Fabozzi requires segmenting the file, creating a log to aid in the reconstruction of the segmented file, transferring the log to the client, and then having the client request each of the segments in different file transfer sessions and reconstruct the file upon receipt of all the segments.
- This method seeks to overcome the problems that may arise with a sliding window, by creating multiple sliding windows, and letting a few sliding windows do the transfer.
- This method of multiply accessing a file does introduce efficiencies, and is often limited either by bandwidth restrictions at a single server or by restrictions that servers impose on multiple logins from a single client. Additionally there is a point of diminishing returns, where the overhead of the different TCP sessions becomes more of a burden on the transfer than the additional session provides in throughput. It is, therefore, desirable to provide a method and system for transferring files, particularly large files, over the Internet that provide reliability and speed without high overhead.
- the present invention provides a method for transmitting data to a client in a distributed network environment. This transmission method begins by establishing a control channel to a client. This control channel optionally employs a connection-oriented protocol, such as TCP.
- the data to be transmitted to the client is then segmented into data segments, and the data segments are transmitted to the client using a connectionless protocol, such as UDP.
- a connectionless protocol such as UDP.
- a sequence number is attached to each data segment prior to transmission. Repeat requests, requesting retransmission of any erred data segments are received over the control channel. To improve performance, an inter-packet transmission delay can also be included.
- a method for receiving a data file in a distributed network environment begins by establishing a control channel to a server.
- This control channel optionally employs a connection-oriented protocol, such as TCP.
- Data file segments, transmitted from the server are received using a connectionless protocol, such as UDP.
- a data file is assembled from the received data file segments, typically by ordering the segments by their sequence numbers, or through supplemental control information. If the assembled data file contains erred segments, a request for transmission of the erred segments is made over the control channel.
- a method for transmitting a data file to a client in a distributed network environment begins by establishing control channels from a plurality of servers to a client. These control channels optionally employ a connection-oriented protocol, such as TCP.
- the data file is divided into components on the plurality of servers, and at each of the plurality of servers, the components are segmented into data segments to be transmitted to the client.
- the data segments are then transmitted to the client, in parallel, using a connectionless protocol, such as UDP.
- a repeat request, requesting retransmission of erred data segments, can be received over any of the control channels. Load balancing can be implemented to improve performance.
- a file transfer system for transmitting a data file to a client in a distributed network environment.
- the file transfer system includes a data segmenter for dividing a data file into components on a plurality of servers and for segmenting the components into data segments to be transmitted to a client.
- a connectionless transfer engine in communication with the data segmenter, transmits, in parallel, the data segments to the client using a connectionless protocol.
- control engine in communication with the connectionless transfer engine, can establish control channels from the plurality of servers to the client, and can receive, over at least one of the control channels, a repeat request requesting retransmission of erred data segments.
- the control engine optionally includes a connection oriented control engine, wh'iQh optionally employs a connection-oriented protocol to establish a control channel.
- a file transfer system for receiving a data file in a distributed network environment.
- This receiving system includes a control engine that establishes a control channel to a server.
- the control engine optionally includes a connection oriented control engine, which optionally employs a connection- oriented protocol to establish a control channel.
- a connectionless receiver in communication with the connection-oriented control engine, receives data file segments transmitted from the server using a connectionless protocol. While a data assembler, in , communication with the connectionless receiver, assembles a data file from the received data file segments.
- a data integrity tester in communication with the data assembler, can then determine if the assembled data file includes erred segments, and can relay to the connection-oriented control engine a request for transmission of the erred segments.
- FIG. 1 is a block diagram of a communications system according to the present invention
- Fig. 2 is a block diagram of the logical components of a file transfer system according to the present invention.
- Fig. 3 is a flow chart of the component-based download method of the present invention.
- Fig. 4 is a flow chart of the file segment transfer protocol method of the present invention.
- Fig. 5 is a flow chart of the combined component-based download and file segment transfer protocol method of the present invention
- Fig. 6 is a flow chart of the distributed file transfer method of the present invention.
- the present invention provides a method and system for transferring data files over the Internet, or other distributed communications network. Ideally, the present invention results in improved data transmission performance as viewed from an individual user's perspective.
- CBD Component-Based Download
- FSTP File Segment Transfer Protocol
- CBD-FSTP file Segment Transfer Protocol
- DFT Distributed File Transfer
- System 20 generally consists of client(s) 24, servers 28, 32, and 34, interconnected via the Internet 36.
- Clients 24 are typically embodied on a general purpose computer, such as an IBM PC-compatible personal computer, operating as stand-alone machines or interconnected on a LAN.
- client in a LAN based environment, can consist of a central processor, a main memory, such as conventional random access memory (RAM), an input/output controller, a keyboard, a pointing device, such as a mouse, track ball, track pad, pen device or the like, a display or screen device, a mass storage device, such as a hard drive, floppy drive, optical disk, flash memory or the like, a network interface card or controller, such as an Ethernet card, and a modem.
- Client 24 communicates with other systems via the network interface card and/or modem.
- a variety of optional input/output devices can also be attached to client 24, including printers, slide output devices, plotters, etc.
- a computer software system for directing the operation of client 24.
- the software system is stored in memory, and on the mass storage device, and generally includes a kernel, or operating system (OS), and a windows shell.
- the OS and windows shell can, for example, be provided by Microsoft ® Windows 98, Microsoft ® Windows NT, IBM OS/2 ® , Macintosh ® OS, Linux, or other similar application.
- One or more application programs, such as client application software can be loaded for execution by client 24.
- client application software includes a web browser, such as Microsoft Internet Explorer or Netscape Navigator browser software that communicates with the Internet through a communication layer or driver, such as a Winsock driver.
- the software system typically further includes a user interface, preferably a graphical user interface (GUI), for receiving and displaying user inputs, commands, and data and outputs resulting from operation of the operating system and the application programs.
- GUI graphical user interface
- Servers 28, 32 and 34 can each consist of one or more conventional computers having a PentiumTM class, or better, central processing unit, such as manufactured by IntelTM Corporation, Santa Clara, CA, or other similar processing unit. Each of the servers can be provided with peripheral components and software components as described above with respect to client 24. Servers 28, 32 and 34 can be attached to large mass storage devices, such as a RAID storage device. Those of skill in the art will understand that servers 28, 32 and 34 can be distributed in various locales and can communicate with each other over dedicated lines, or over Internet 36.
- the logical components of the file transfer system 20 are shown in Fig. 2. The logical components are embodied in appropriate application software, as is well known to those of skill in the art.
- file transfer system 20 On the transmitting side, file transfer system 20 consists of a data segmenter 52 for segmenting a data file into data segments to be transmitted to a client.
- a connectionless transfer engine 54 is in communication with the data segmenter 52. The connectionless transfer engine 54 transmits the data segments to the client using a connectionless protocol, such as UDP.
- a connection-oriented control engine 56 in communication with the connectionless transfer engine 54, establishes control channel(s) to the client using a connection-oriented protocol, such as TCP, and can receive repeat transmission requests for erred data segments.
- an erred data segment means missing/lost or corrupt data segments.
- system 20 consists of a further connection-oriented control engine 60 that communicates with the connection-oriented control engine 56 to establish a control channel to the server(s) using a connection-oriented protocol.
- a connectionless receiver 62 in communication with the connection-oriented control engine 60 and the connectionless transfer engine 54, receives data file segments transmitted from the server using a connectionless protocol.
- a data assembler 64 in communication with the connectionless receiver 62, assembles a data file from the received data file segments.
- a data integrity tester 66 in communication with the data assembler 64, determines if the assembled data file includes erred segments, and relays a request for retransmission to the connection-oriented control engine 60 which can send the request to the connection- oriented control engine 56.
- control engine of the system 20 need not be connection oriented. It is possible to implement a system, within the scope of the present invention, that uses a connectionless protocol to establish a control channel. This control channel need only be bi-directional to facilitate communication. Connection oriented channels introduce benefits, such as guaranteed arrival of control information, that though beneficial are not essential to the operation of the present invention.
- the operation of system 20 and the method of the present invention will now be described with reference to Figs. 1 - 6. The following description assumes that the client 24 is connected to Internet 36 and has access to the servers 28, 32 and 34 for the purposes of file download.
- a file to be downloaded is split into components, or clusters, at step 200.
- the number of components is determined by the number of available servers 28, 32 and 34, while the size of the components can be determined by the relative connection speeds, server speeds, or other suitable factors. Ideally, the component sizes are chosen such that each component can be downloaded to the client 24 in approximately the same time.
- Each component is then placed on a different server at step 202.
- a user situated at client 24, attempts to download the file, parallel, or concurrent, connections are established, at step 204, between the client 24 and the servers 28, 32 and 34 maintaining the file components. All the components are then downloaded simultaneously at step 206.
- the components on the client machine are appended to each other at step 208, thereby reconstituting the original file.
- a file is first divided into several components or clusters and put on different servers.
- parallel FTP sessions are established between the user and the respective servers and files are downloaded to the user's side in a parallel fashion.
- each FTP session is terminated after the respective component is completely downloaded. This leads to a faster transmission rate, and thus a considerably shorter latency perceived by the user.
- CBD is inherently fault tolerant. There are occasions in which a server may go down, or a router starts discarding the packets when buffers are full. This means file components may no longer be accessible if they reside on that part of the sub-network. This problem can be addressed by resorting to a replication scheme. Depending on the nature of the file cluster, and the network's environment, several simple replication schemes can be implemented. One is to put the whole file cluster on a backup server. The other is to divide the file into replicated components and spread them among the servers.
- the total latencies for each scenario were calculated as follows: In concurrent download, the perceived latency is equal to the greatest value of latencies measured for each download. In sequential download, the perceived latency is equal to the sum of latencies measured for each download.
- the experiments were performed on 4 different environments: 100BaseT LAN, lOBaseT LAN, 802.11 wireless LAN, and with a dialup modem. First, three files with total size of 4.5 megabytes; second, three larger files with total size of 26 megabytes; and third, five files with total size of 9 megabytes were downloaded.
- a novel application-level protocol FSTP
- a TCP socket connection is established at step 300.
- the TCP socket connection forms the control channel and is used for sending commands.
- one or more UDP socket connections are established at step 302 to enable data transmission.
- TCP sockets are used for both the control and data channels.
- the desired data file is transmitted as data units, such as datagrams or packets of predetermined size, as is well known to those of skill in the art. Since UDP does not provide a reliable connection, the integrity of the data transfer is checked in the application level at step 306.
- FSTP takes advantage of the more reliable network infrastructure currently available in the Internet, as compared to when TCP was first introduced. Preliminary tests show that FSTP transmits data much faster than FTP. Experimental results have been obtained for campus LANs, wireless LANs, and traditional telephone modems and cable modems. In the worst case, FSTP performs no worse that FTP, and in the best cases to date with experiments over broadband networks typical file transfer speed-up improvements are on the order of 500-800%.
- FTP uses two TCP connections, one for exchanging command control packets, and the other one for the data itself.
- FTP protocol is not concerned about retrieving the missing/corrupted packets.
- the job of providing a reliable network connection is delegated to the transfer layer protocol, i.e., TCP.
- TCP ensures the integrity of the data by checking the incoming packets, and asking the other side for retransmission of the erroneous/missing packets.
- FSTP operates significantly differently from FTP. Although there is still a TCP network connection to send command/requests to the server, all of the data is transferred via UDP packets.
- UDP here affords simple access to the Internet Protocol (IP) layer. Sending data over UDP does not bind us to restrained performance of a TCP connection's sliding window flow control.
- IP Internet Protocol
- Another benefit in using UDP packets is that there is less processing overhead compared to a TCP connection.
- UDP only provides a datagram service, the necessary functionality for data consistency is provided in another level. This task is performed in the application level (i.e., by FSTP itself).
- FSTP attaches a unique sequence or tag number to each packet.
- FSTP On the client side, after FSTP receives all of the data packets in a stream, it looks for missing/corrupted packets. The missing packets may be logged during the transfer or determined after the transfer is completed. If found, the FSTP client sends a request for retransmission of the missing packets back to the FSTP server. The server retrieves the missing parts of the file from its local disk or memory, and sends them again to the client. This loop continues until the data is completely transferred to the user.
- transmitting packets at the maximum possible speed can result in many of the packets getting lost in transit due to a smaller maintainable bandwidth over certain portions of the Internet and/or an inability of the client to process the incoming datagrams.
- an inter-packet transmission delay can be added. Adding this delay results in a greater packet reception success rate (with respect to the number of packets transmitted), and results in fewer required retransmissions. Because the examination of received packets, generation of a retransmission requests, and processing of these request by the server takes of time, the perceived latency to the user will actually be less with the use of the appropriate inter- packet transmission delay for a pre- chosen packet size.
- FSTP can, for example, conduct a brief test where the server attempts to flood its connection with UDP packets destined for the client for a short time interval (under 1 second). The client counts the number of packets it received out of the total and, with the noted transmission time from the server, calculates an appropriate delay. For example, if the server sends 1000 packets in one second and the clients receives 100, we can speculate that if we transmit a packet every lOmS, we should be able to maintain a high packet reception success.
- FSTP client opens up a TCP connection with the server for exchanging commands.
- the client receives a list of files and their respective sizes.
- the packet size is chosen by the user and this selection is forwarded to the server.
- the server begins the transmission timing test by sending UDP packets of the specified size to the client. After the test has completed, the server sends the client a message indicating the total transmission time for the test and the number of packets transmitted during the test.
- the client calculates an appropriate inter- packet transmission time and sets this transmission delay on the server.
- the client sends a "SEND" command by specifying the name of the file to be retrieved, taking note of the file's size from the previously acquired file listing.
- Both the client and the server can calculate the number of bytes necessary for the packets' sequence numbers, or tags. It is necessary for the client to calculate this as well, so it will properly handle the format of the received packets without the server having to explicitly send a description of the format. This is possible because the client and server use the same program library to handle tag numbers.
- the server sends the file as a steam of UDP packets whose headers contain the file name and tag made of bytes to indicate the position of the data in the file.
- the client After the stream of UDP packets has ended, the client generates a list of missing/corrupted packets and sends them in a retransmission request to the server; the server retransmits the requested packets in the same format as the original transmission; and this retransmission continues until all of the packets are received.
- the checksum capability of UDP protocol can be used. The current, experimental system attempts to establish an average maintainable data rate in packets per second (for a chosen packet size) and transmits the data from a single server to the client.
- An alternative method would be for the server to adapt its rate and packet size in response to the client.
- the packet size is easily adjusted and is often optimal if near the maximum segment size of any of the intervening networks a packet would traverse from source to destination. For example, based on all experiments to date a packet size of 1500 bytes has been found to be near optimal.
- the inter-packet transmission delay can be adapted using a simple feedback control increasing or decreasing the rate depending on the rate of packets received. If for example, if only 80% of the packets were being delivered the server can throttle back its transmission of packets into the network until a desirable reception rate is achieved.
- FSTP is basically designed based on the assumption of exploiting the large available bandwidth (which is exactly the shortcoming of FTP that uses TCP for transferring data). So, FSTP performs best, compared to FTP, when the two machines (client and server) are connected via a fast Internet connection, with a relatively high RTT (round trip time). Table 2 shows the average transfer times for FTP and FSTP measured in seconds.
- a file was transferred from a remote machine (located at the University of Victoria) to a local machine (located at the University of Manitoba).
- the two machines were Sun SparcTM workstations, running SolarisTM 5.6 and 5.7. They were connected via a high-speed connection. The measurements were repeated 5 times during a weekday afternoon, when the machines were busy running other processes and the Internet was being used by business and academic users. Three different packet sizes were used, 500, 1000, and 1500 bytes.
- the method disclosed in the previous example used a TCP connection for the control channel, due to the inherent reliability of the TCP channel. Though this is advantageous in many circumstances it should be noted that the control channel need only be a bi-directional channel and does not absolutely require the benefits of a TCP channel.
- One embodiment of the present invention uses a connectionless protocol for the control channel and the transfer channel. This embodiment takes advantage of the lack of overhead to minimize traffic in the control channel.
- segments arrive at the receiver they are reassembled as in the previous example.
- Upon receipt of the final segments a list of erred segments is prepared and sent out over a connectionless control channel, preferably using UDP.
- the server(s) transfer the erred segments.
- the transmitter does not receive one part of the retransmission list, then it will not be sent to the receiver.
- the receiver does not remove segments from the erred segment list until they have arrived intact. If segments do not arrive correctly, or do not arrive at all, in the second transmission, then they will be re-requested and the process will continue until all the segments have arrived.
- a distributed version of FSTP namely CBD-FSTP
- file components are stored on distributed servers and downloaded to the client 24 seamlessly over multiple FSTP connections.
- a file to be downloaded is split into components, or clusters, at step 200, as described above.
- Each component is then placed on a different server at step 202.
- FSTP connections are established, at step 404.
- a TCP socket connection is established with each server, and UDP socket connections are established for the data transmission.
- the segmented data file is transmitted as datagrams in parallel from each server to the client.
- the components on the client machine are re-sequenced at step 412 to reconstitute the original file.
- a check is made for missing and corrupt packets at step 414, and transmission of any erred packets is requested at step 416.
- FSTP is used within the CBD architecture. This is a simple extension and illustrates the use of FSTP with a concurrent download environment. As expected, since file transfer delay is improved with either method, when combined further improvements are multiplicative. To incorporate FSTP into the CBD paradigm, some modifications are applied to
- FSTP FSTP.
- the following features/changes are added to FSTP.
- An additional field is added to the FSTP header. This field represents the file component to which that packet is belonged. Since in the CBD approach the client establishes parallel/concurrent connections to multiple servers. The client is implemented using threads. Each thread is responsible for maintaining connection (a TCP and UDP connection) with a participating server.
- the client sorts each component, it appends these components sequentially together to create the original file.
- DFT utilizes a intermediate tier process to coordinate the selection of file servers and to maintain server status information.
- DFT each server has completely replicated data or files.
- the degree to which a server provides content is based on measurements made by the client.
- the client actively probes the connection to the server and monitors the file transfer process balancing the load as required during the download.
- DFT illustrates the role of active monitoring and the decision process involved in concurrently downloading files over the network.
- DFT is responsible for partitioning the file in terms of server performance and reassembling the file on the client side.
- DFT can be deployed with using either traditional FTP or the FSTP protocol disclosed here.
- the Distributed File Transfer (DFT) architecture can further automate the process of downloading files from a number of servers.
- a current instance of DFT can allocate server resources according to their availability and utilization. Therefore, we obtain reliability, scalability and efficiency by making better use of all file servers in the Internet. This approach makes all FTP servers that contain the same files a cluster of servers and distributes load among them.
- DFT Design concept of DFT is as follows: In order to switch among servers, a client connects to multiple file servers to download file components simultaneously. This approach like CBD improves the performance of file transfer in general. The client monitors all connections to file servers to detect failure and congestion problems. If some connection is broken, the DFT client has sufficient intelligence or means to decide which server it should switch to and switch to that server immediately and transparently. This is an improvement over CBD in terms of fault tolerance.
- a Load Distributing Server LDS.
- the LDS knows all file servers or can search for them so that it can provide a server list to a client. Thus, the LDS coordinates the load distribution among all servers allowing the client to focus on file transfer among a small set of servers.
- the DFT client sends a request to the LDS at step 500.
- the LDS looks for servers that contains the target file.
- LDS provides the DFT client with a list of servers at step 502.
- the DFT client tests the speed and availability of the servers at step 504, and calculates the segment sizes for each server at step 506.
- the DFT client then establishes multiple data links with those servers and downloads different segments from them at step 508.
- DFT achieves performance improvements by more intelligently selecting and monitoring the file transfer process.
- DFT initially estimates the server speed and network by issuing ping and/or FTP size commands. This establishes the size of the component to be downloaded from each participating server. Once the file transfer is in progress DFT monitors each concurrent connection and reallocates load as required.
- the present instance and example of DFT disclosed here utilizes FTP for downloading a 47 Mbyte file from 1 to 5 servers. File transfer speedup for this series of experiments resulted in throughput improvements which increased linearly from 600 Kbps to 1400 Kbps as the number of servers ranged from 1 to 5.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002398265A CA2398265A1 (fr) | 2000-01-24 | 2001-01-24 | Procede et systeme pour le transfert de fichiers segmentes |
AU2001228224A AU2001228224A1 (en) | 2000-01-24 | 2001-01-24 | Method and system for segmented file transfer |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17736100P | 2000-01-24 | 2000-01-24 | |
US60/177,361 | 2000-01-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001054370A2 true WO2001054370A2 (fr) | 2001-07-26 |
WO2001054370A3 WO2001054370A3 (fr) | 2001-12-13 |
Family
ID=22648300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CA2001/000056 WO2001054370A2 (fr) | 2000-01-24 | 2001-01-24 | Procede et systeme pour le transfert de fichiers segmentes |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU2001228224A1 (fr) |
CA (1) | CA2398265A1 (fr) |
WO (1) | WO2001054370A2 (fr) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003096646A1 (fr) * | 2002-05-08 | 2003-11-20 | Bell Globemedia Inc. | Procede et appareil de transfert de donnees |
EP1389766A3 (fr) * | 2002-05-15 | 2004-03-03 | Hewlett-Packard Company | Un procédé pour télécharger de l'Internet des fichiers encapsulés dans des fichiers graphiques |
EP1401165A1 (fr) * | 2002-09-23 | 2004-03-24 | France Telecom Sa | Procédé et dispositif pour la transmission de données via un réseau maillé |
EP1609053A1 (fr) * | 2003-03-28 | 2005-12-28 | THOMSON Licensing | Systeme et procede pour transmettre des fichiers a base media |
WO2007047343A2 (fr) * | 2005-10-14 | 2007-04-26 | Turbine, Inc. | Protocole a classement selectif pour des voies non fiables |
EP2069955A1 (fr) * | 2006-09-20 | 2009-06-17 | Ist International, Inc. | Transfert et optimisation d'une pile de protocole de réseau |
US20090287844A1 (en) * | 2007-01-31 | 2009-11-19 | Unlimi-Tech Software Inc. | Data Transfer Method, System and Protocol |
US7849462B2 (en) | 2005-01-07 | 2010-12-07 | Microsoft Corporation | Image server |
US8073926B2 (en) | 2005-01-07 | 2011-12-06 | Microsoft Corporation | Virtual machine image server |
WO2012046090A1 (fr) * | 2010-10-04 | 2012-04-12 | Thomson Licensing | Système et procédé de détection d'erreur et de remplacement de données dans des services de diffusion |
JP2013004995A (ja) * | 2011-06-10 | 2013-01-07 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ優先転送方法、コンテンツ優先転送プログラムおよびコンテンツ優先転送ゲートウェイ |
WO2014187114A1 (fr) * | 2013-05-20 | 2014-11-27 | 腾讯科技(深圳)有限公司 | Procédé de transmission de fichier, appareil, et support de stockage |
US9177159B2 (en) | 2004-10-25 | 2015-11-03 | Security First Corp. | Secure data parser method and system |
US9317705B2 (en) | 2005-11-18 | 2016-04-19 | Security First Corp. | Secure data parser method and system |
US9443097B2 (en) | 2010-03-31 | 2016-09-13 | Security First Corp. | Systems and methods for securing data in motion |
CN106302589A (zh) * | 2015-05-27 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 文件传输方法及终端 |
US9733849B2 (en) | 2014-11-21 | 2017-08-15 | Security First Corp. | Gateway for cloud-based secure storage |
US9785785B2 (en) | 2010-09-20 | 2017-10-10 | Security First Corp. | Systems and methods for secure data sharing |
US9881177B2 (en) | 2013-02-13 | 2018-01-30 | Security First Corp. | Systems and methods for a cryptographic file system layer |
CN111147332A (zh) * | 2019-12-29 | 2020-05-12 | 北京浪潮数据技术有限公司 | 存储系统云备份的上传进度确定方法、系统及相关装置 |
US11089137B2 (en) | 2019-04-02 | 2021-08-10 | International Business Machines Corporation | Dynamic data transmission |
CN114172898A (zh) * | 2022-02-10 | 2022-03-11 | 中国人民解放军海军工程大学 | 一种大文件远程传输方法 |
CN114338122A (zh) * | 2021-12-23 | 2022-04-12 | 广西东信数建信息科技有限公司 | 一种高效安全海量文件传输方法 |
WO2023091903A1 (fr) * | 2021-11-16 | 2023-05-25 | Netflix, Inc. | Transfert de fichier multimédia passant à l'échelle |
US20230308503A1 (en) * | 2021-01-07 | 2023-09-28 | Inspur Suzhou Intelligent Technology Co., Ltd. | File transmission method and apparatus, device, and storage medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8745372B2 (en) | 2009-11-25 | 2014-06-03 | Security First Corp. | Systems and methods for securing data in motion |
EP2577936A2 (fr) | 2010-05-28 | 2013-04-10 | Lawrence A. Laurich | Système accélérateur destiné à être utilisé avec un dispositif de stockage de données sécurisé |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680400A (en) * | 1995-05-31 | 1997-10-21 | Unisys Corporation | System for high-speed transfer of a continuous data stream between hosts using multiple parallel communication links |
EP0862304A2 (fr) * | 1997-02-10 | 1998-09-02 | International Business Machines Corporation | Méthode de transfert de fichier |
-
2001
- 2001-01-24 AU AU2001228224A patent/AU2001228224A1/en not_active Abandoned
- 2001-01-24 WO PCT/CA2001/000056 patent/WO2001054370A2/fr active Application Filing
- 2001-01-24 CA CA002398265A patent/CA2398265A1/fr not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680400A (en) * | 1995-05-31 | 1997-10-21 | Unisys Corporation | System for high-speed transfer of a continuous data stream between hosts using multiple parallel communication links |
EP0862304A2 (fr) * | 1997-02-10 | 1998-09-02 | International Business Machines Corporation | Méthode de transfert de fichier |
Non-Patent Citations (4)
Title |
---|
A MIU, E SHIH, H. BALAKRISHNAN: "Hornet: Parallel Data Transfer From Multiple Servers" 6892 PROJECT PROPOSAL, 1 October 1999 (1999-10-01), pages 1-4, XP002171262 * |
B S NOGHANI, S KRETCHMEN, R D MCLEOD: "A Novel Approach to Reduce Latency on the Internet: "Component Based Download"" PDPTA 2000 CONFERENCE, 1 June 2000 (2000-06-01), pages 1-6, XP002171263 Las Vegas, Nevada, USA * |
K.R. SOLLINS, : "The TFTP Protocol (Revision 2)" IETF REQUEST FOR COMMENTS (RFC): 783, 1 June 1981 (1981-06-01), XP002171226 * |
L BROWN, M G II JAATUN: "Secure File Transfer over TCP/IP" IEEE REGION 10 CONFERENCE, TENCON 92, 11 November 1992 (1992-11-11), pages 494-498, XP002171261 * |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003096646A1 (fr) * | 2002-05-08 | 2003-11-20 | Bell Globemedia Inc. | Procede et appareil de transfert de donnees |
EP1389766A3 (fr) * | 2002-05-15 | 2004-03-03 | Hewlett-Packard Company | Un procédé pour télécharger de l'Internet des fichiers encapsulés dans des fichiers graphiques |
US7146434B2 (en) | 2002-05-15 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Method for downloading data via the internet to a browser enabled computer |
EP1401165A1 (fr) * | 2002-09-23 | 2004-03-24 | France Telecom Sa | Procédé et dispositif pour la transmission de données via un réseau maillé |
FR2844939A1 (fr) * | 2002-09-23 | 2004-03-26 | France Telecom | Procede de transmission de donnees via un reseau maille offrant une vitesse de reception accrue |
EP1609053A1 (fr) * | 2003-03-28 | 2005-12-28 | THOMSON Licensing | Systeme et procede pour transmettre des fichiers a base media |
EP1609053A4 (fr) * | 2003-03-28 | 2011-06-08 | Thomson Licensing | Systeme et procede pour transmettre des fichiers a base media |
CN1764897B (zh) * | 2003-03-28 | 2010-11-10 | 汤姆森特许公司 | 用于传输基于媒体的文件的系统和方法 |
US7831603B2 (en) | 2003-03-28 | 2010-11-09 | Thomson Licensing | System and method for transmitting media based files |
US9985932B2 (en) | 2004-10-25 | 2018-05-29 | Security First Corp. | Secure data parser method and system |
US9871770B2 (en) | 2004-10-25 | 2018-01-16 | Security First Corp. | Secure data parser method and system |
US11178116B2 (en) | 2004-10-25 | 2021-11-16 | Security First Corp. | Secure data parser method and system |
US9177159B2 (en) | 2004-10-25 | 2015-11-03 | Security First Corp. | Secure data parser method and system |
US9338140B2 (en) | 2004-10-25 | 2016-05-10 | Security First Corp. | Secure data parser method and system |
US9992170B2 (en) | 2004-10-25 | 2018-06-05 | Security First Corp. | Secure data parser method and system |
US9906500B2 (en) | 2004-10-25 | 2018-02-27 | Security First Corp. | Secure data parser method and system |
US9935923B2 (en) | 2004-10-25 | 2018-04-03 | Security First Corp. | Secure data parser method and system |
US8073926B2 (en) | 2005-01-07 | 2011-12-06 | Microsoft Corporation | Virtual machine image server |
US7849462B2 (en) | 2005-01-07 | 2010-12-07 | Microsoft Corporation | Image server |
US8284663B2 (en) | 2005-10-14 | 2012-10-09 | Turbine, Inc. | Selectively ordered protocol for unreliable channels |
WO2007047343A2 (fr) * | 2005-10-14 | 2007-04-26 | Turbine, Inc. | Protocole a classement selectif pour des voies non fiables |
WO2007047343A3 (fr) * | 2005-10-14 | 2007-09-13 | Turbine Inc | Protocole a classement selectif pour des voies non fiables |
US9225805B2 (en) | 2005-10-14 | 2015-12-29 | Turbine, Inc. | Selectively ordered protocol for unreliable channels |
US9317705B2 (en) | 2005-11-18 | 2016-04-19 | Security First Corp. | Secure data parser method and system |
US10452854B2 (en) | 2005-11-18 | 2019-10-22 | Security First Corp. | Secure data parser method and system |
US10108807B2 (en) | 2005-11-18 | 2018-10-23 | Security First Corp. | Secure data parser method and system |
EP2069955A1 (fr) * | 2006-09-20 | 2009-06-17 | Ist International, Inc. | Transfert et optimisation d'une pile de protocole de réseau |
EP2069955A4 (fr) * | 2006-09-20 | 2010-01-20 | Ist International Inc | Transfert et optimisation d'une pile de protocole de réseau |
US9043486B2 (en) * | 2007-01-31 | 2015-05-26 | Unlimi-Tech Software Inc. | Data transfer method, system and protocol |
US20090287844A1 (en) * | 2007-01-31 | 2009-11-19 | Unlimi-Tech Software Inc. | Data Transfer Method, System and Protocol |
US10068103B2 (en) | 2010-03-31 | 2018-09-04 | Security First Corp. | Systems and methods for securing data in motion |
US9443097B2 (en) | 2010-03-31 | 2016-09-13 | Security First Corp. | Systems and methods for securing data in motion |
US9785785B2 (en) | 2010-09-20 | 2017-10-10 | Security First Corp. | Systems and methods for secure data sharing |
WO2012046090A1 (fr) * | 2010-10-04 | 2012-04-12 | Thomson Licensing | Système et procédé de détection d'erreur et de remplacement de données dans des services de diffusion |
JP2013004995A (ja) * | 2011-06-10 | 2013-01-07 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツ優先転送方法、コンテンツ優先転送プログラムおよびコンテンツ優先転送ゲートウェイ |
US9881177B2 (en) | 2013-02-13 | 2018-01-30 | Security First Corp. | Systems and methods for a cryptographic file system layer |
US10402582B2 (en) | 2013-02-13 | 2019-09-03 | Security First Corp. | Systems and methods for a cryptographic file system layer |
WO2014187114A1 (fr) * | 2013-05-20 | 2014-11-27 | 腾讯科技(深圳)有限公司 | Procédé de transmission de fichier, appareil, et support de stockage |
US10031679B2 (en) | 2014-11-21 | 2018-07-24 | Security First Corp. | Gateway for cloud-based secure storage |
US9733849B2 (en) | 2014-11-21 | 2017-08-15 | Security First Corp. | Gateway for cloud-based secure storage |
CN106302589A (zh) * | 2015-05-27 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 文件传输方法及终端 |
CN106302589B (zh) * | 2015-05-27 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 文件传输方法及终端 |
US11089137B2 (en) | 2019-04-02 | 2021-08-10 | International Business Machines Corporation | Dynamic data transmission |
CN111147332A (zh) * | 2019-12-29 | 2020-05-12 | 北京浪潮数据技术有限公司 | 存储系统云备份的上传进度确定方法、系统及相关装置 |
US20230308503A1 (en) * | 2021-01-07 | 2023-09-28 | Inspur Suzhou Intelligent Technology Co., Ltd. | File transmission method and apparatus, device, and storage medium |
US11792258B1 (en) * | 2021-01-07 | 2023-10-17 | Inspur Suzhou Intelligent Technology Co., Ltd. | File transmission method and apparatus, device, and storage medium |
WO2023091903A1 (fr) * | 2021-11-16 | 2023-05-25 | Netflix, Inc. | Transfert de fichier multimédia passant à l'échelle |
US11936717B2 (en) | 2021-11-16 | 2024-03-19 | Netflix, Inc. | Scalable media file transfer |
CN114338122A (zh) * | 2021-12-23 | 2022-04-12 | 广西东信数建信息科技有限公司 | 一种高效安全海量文件传输方法 |
CN114172898A (zh) * | 2022-02-10 | 2022-03-11 | 中国人民解放军海军工程大学 | 一种大文件远程传输方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2001228224A1 (en) | 2001-07-31 |
CA2398265A1 (fr) | 2001-07-26 |
WO2001054370A3 (fr) | 2001-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2001054370A2 (fr) | Procede et systeme pour le transfert de fichiers segmentes | |
US8938553B2 (en) | Cooperative proxy auto-discovery and connection interception through network address translation | |
US9436542B2 (en) | Automated network infrastructure test and diagnostic system and method therefor | |
US6981032B2 (en) | Enhanced multicast-based web server | |
US9172620B2 (en) | Cooperative proxy auto-discovery and connection interception | |
US7318100B2 (en) | Cooperative proxy auto-discovery and connection interception | |
US5774660A (en) | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network | |
US7006480B2 (en) | Method and system for using a backbone protocol to improve network performance | |
US8406240B2 (en) | Packet fragmentation prevention | |
Andersen et al. | Improving web availability for clients with MONET | |
EP3533162B1 (fr) | Gestion du transfert de paquets de données via un mandataire | |
US6892224B2 (en) | Network interface device capable of independent provision of web content | |
US20030225873A1 (en) | Optimization of network performance through uni-directional encapsulation | |
KR20050026881A (ko) | 페일오버 이벤트를 지원하는 네트워크 상태 객체의 다중오프로드용 방법 및 컴퓨터 프로그램 제품 | |
WO2019243890A2 (fr) | Transmission de données multiport par l'intermédiaire du protocole udp | |
Dunigan | A TCP-over-UDP test harness | |
Garcia-Luna-Aceves et al. | A Connection-Free Reliable Transport Protocol | |
Kächele et al. | COSCAnet-FT: Transparent network support for highly available cloud services | |
Miura et al. | RI2N: High-bandwidth and fault-tolerant network with multi-link Ethernet for PC clusters | |
Li | Improving the Efficiency of Multipath Transport Protocols | |
Valchanov et al. | Improving Performance of Multimedia Web Transfer over WAN Connections | |
EP3525419A1 (fr) | Protocole sans connexion avec régulation de la largeur de bande et de l'encombrement | |
EP3525413A1 (fr) | Protocole sans connexion comportant un contrôle de bande passante et de congestion | |
EP3525412A1 (fr) | Protocole de transmission de données sans connection amélioré | |
Padgett | Web Server Path Selection Using Lowest Latency to Client |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2398265 Country of ref document: CA |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |