WO2001054370A2 - Procede et systeme pour le transfert de fichiers segmentes - Google Patents

Procede et systeme pour le transfert de fichiers segmentes Download PDF

Info

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
Application number
PCT/CA2001/000056
Other languages
English (en)
Other versions
WO2001054370A3 (fr
Inventor
Robert D. Mcleod
David C. Blight
Steven R. Kretschmann
Original Assignee
The University Of Manitoba
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 The University Of Manitoba filed Critical The University Of Manitoba
Priority to CA002398265A priority Critical patent/CA2398265A1/fr
Priority to AU2001228224A priority patent/AU2001228224A1/en
Publication of WO2001054370A2 publication Critical patent/WO2001054370A2/fr
Publication of WO2001054370A3 publication Critical patent/WO2001054370A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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]
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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
    • 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/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • 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/14Multichannel or multilink protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer 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

L'invention concerne une architecture destinée à améliorer le temps d'attente lors du téléchargement de documents à partir d'Internet et un ensemble de procédés. On décrit, dans la présente invention, une méthodologie permettant d'améliorer le temps de téléchargement à partir d'un certain nombre de sites contenant des données composantes appelée téléchargement basé sur des composantes. Les composantes sont téléchargées de façon autonome et rassemblées au niveau du site client. Par ailleurs, on décrit aussi une méthodologie permettant de télécharger de grands fichiers au moyen d'une application appelée protocole de transfert de segments de fichiers. Ce protocole est une application qui envoie des données par le biais d'un UDP et qui fournit son propre traitement des erreurs et sa propre retransmission. Les débits de transfert et les paramètres, tels que la dimension des paquets de données, qui agissent sur le temps de latence de transfert peuvent être présélectionnés ou déterminés de façon dynamique. On décrit une seconde architecture appelée transfert de fichier reparti. Cette architecture illustre une approche plus automatisée destinée à déterminer la dimension des fichiers et la charge du serveur.
PCT/CA2001/000056 2000-01-24 2001-01-24 Procede et systeme pour le transfert de fichiers segmentes WO2001054370A2 (fr)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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&#39;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&#39;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