CA2385344A1 - Data transfer method and apparatus - Google Patents
Data transfer method and apparatus Download PDFInfo
- Publication number
- CA2385344A1 CA2385344A1 CA 2385344 CA2385344A CA2385344A1 CA 2385344 A1 CA2385344 A1 CA 2385344A1 CA 2385344 CA2385344 CA 2385344 CA 2385344 A CA2385344 A CA 2385344A CA 2385344 A1 CA2385344 A1 CA 2385344A1
- Authority
- CA
- Canada
- Prior art keywords
- location
- chunk
- link
- file
- data transfer
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
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/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/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/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/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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A method and apparatus are disclosed that allow a user to transfer relatively large files, such as full motion video, over a dedicated link with improved efficiency.
Relatively cost effective high-speed TCP/IP links are available. However latency issues with TCP/IP prevents their use for transferring large files, especially full motion video for viewing in real time. The present method and apparatus establishes a multi-channel pipeline within the high-speed link from a source node to a target node. A desired file resident on a server of source node is first parsed into chunks of predetermined size appended with a sequence number and placed into circular buffer.
The circular buffer is emptied into a next available channel in the multi-channel pipeline established in the high-speed link. The TCP/IP socket channels transfer chunks from the source node to the target node and acknowledge each chunk and then allow circular buffer to transfer the next available chunk. The target node stores the incoming chunks in circular buffer then transfers them in the file assembler into memory in dependence upon the sequence number. Once the file is reassembled it is transferred to server and made available to end user. Advantageously, a more cost effective link may be used for transfer of relatively large files. This technique may also be applied to access networks.
Relatively cost effective high-speed TCP/IP links are available. However latency issues with TCP/IP prevents their use for transferring large files, especially full motion video for viewing in real time. The present method and apparatus establishes a multi-channel pipeline within the high-speed link from a source node to a target node. A desired file resident on a server of source node is first parsed into chunks of predetermined size appended with a sequence number and placed into circular buffer.
The circular buffer is emptied into a next available channel in the multi-channel pipeline established in the high-speed link. The TCP/IP socket channels transfer chunks from the source node to the target node and acknowledge each chunk and then allow circular buffer to transfer the next available chunk. The target node stores the incoming chunks in circular buffer then transfers them in the file assembler into memory in dependence upon the sequence number. Once the file is reassembled it is transferred to server and made available to end user. Advantageously, a more cost effective link may be used for transfer of relatively large files. This technique may also be applied to access networks.
Description
DATA TRANSFER METHOD AND APPARATUS
Field of the Invention The present invention relates to data transfer method and apparatus, and is particularly concerned with efficient data channel use.
Background of the Invention The successful conversion from analogue to digital signals in most sectors of the electronics industry has lead to the need for increased bandwidth in networks and increased storage capacity. A particularly bandwidth hungry sector is the video industry. For bandwidth limited networks, defacto applications such as Quicktime a trademark of Apple Computers allow the streaming of video at much reduced bit rates. The television industry, however requires full motion broadcast quality video.
Compression algorithms have been developed and incorporated in standards, for example MPEG2, that allow full motion video to be compressed for transmission and storage and restored for playback. However, even with the use of compression, video transmission in real time requires a bandwidth of several megabits per second (Mb/s).
Consequently, television broadcasters have to lease high-bandwidth digital lines between programs sources and broadcast stations. These leased lines are sufficient expensive to have an impact on how programming is distributed and particularly how segments, such as news items are shared within a network. While several alternative networks are becoming available that could provide sufficient bandwidth, for example asynchronous transfer mode (ATM) or synchronous optical network (SONET), costs for such services remain high. This is simply a function of the large amount of data that must be transferred.
Summary of the Invention An object of the present invention is to provide an improved data transfer method and apparatus.
In accordance with an aspect of the present invention there is provided a method of data transfer comprising the steps of activating a link between a first location and a second location, subdividing the link into a plurality of data transfer channels and a data transfer control channel, at the first location, parsing a file to be transferred into a plurality of chunks, each chunk having a predetermined size, sequencing and sending each chunk on a next available one of the plurality of data transfer channels, and at the second location, reassembling the file by receiving and reordering chunks in dependence upon their sequence.
In accordance with another aspect of the present invention there is provided apparatus for data transfer from a first location to a second location, comprising a link between a first location and a second location, a module for subdividing the link into a plurality of data transfer channels and a data transfer control channel, a file parser at the first location, for parsing a file to be transferred into a plurality of chunks, each chunk having a predetermined size, a chunk sequencer for sequencing the chunks prior to transmission, and a transmitter for sending each chunk on a next available one of the plurality of data transfer channels for reassembling the file at the second location, by receiving and reordering chunks in dependence upon their sequence.
In accordance with a further aspect of the present invention there is provided an apparatus for receiving data from a first location at a second location, comprising:
a link between a first location and a second location, a module for subdividing the link into a plurality of data transfer channels and a data transfer control channel, a file assembler at the second location, for reassembling the file at the second location, by receiving and reordering chunks in dependence upon their sequence.
Field of the Invention The present invention relates to data transfer method and apparatus, and is particularly concerned with efficient data channel use.
Background of the Invention The successful conversion from analogue to digital signals in most sectors of the electronics industry has lead to the need for increased bandwidth in networks and increased storage capacity. A particularly bandwidth hungry sector is the video industry. For bandwidth limited networks, defacto applications such as Quicktime a trademark of Apple Computers allow the streaming of video at much reduced bit rates. The television industry, however requires full motion broadcast quality video.
Compression algorithms have been developed and incorporated in standards, for example MPEG2, that allow full motion video to be compressed for transmission and storage and restored for playback. However, even with the use of compression, video transmission in real time requires a bandwidth of several megabits per second (Mb/s).
Consequently, television broadcasters have to lease high-bandwidth digital lines between programs sources and broadcast stations. These leased lines are sufficient expensive to have an impact on how programming is distributed and particularly how segments, such as news items are shared within a network. While several alternative networks are becoming available that could provide sufficient bandwidth, for example asynchronous transfer mode (ATM) or synchronous optical network (SONET), costs for such services remain high. This is simply a function of the large amount of data that must be transferred.
Summary of the Invention An object of the present invention is to provide an improved data transfer method and apparatus.
In accordance with an aspect of the present invention there is provided a method of data transfer comprising the steps of activating a link between a first location and a second location, subdividing the link into a plurality of data transfer channels and a data transfer control channel, at the first location, parsing a file to be transferred into a plurality of chunks, each chunk having a predetermined size, sequencing and sending each chunk on a next available one of the plurality of data transfer channels, and at the second location, reassembling the file by receiving and reordering chunks in dependence upon their sequence.
In accordance with another aspect of the present invention there is provided apparatus for data transfer from a first location to a second location, comprising a link between a first location and a second location, a module for subdividing the link into a plurality of data transfer channels and a data transfer control channel, a file parser at the first location, for parsing a file to be transferred into a plurality of chunks, each chunk having a predetermined size, a chunk sequencer for sequencing the chunks prior to transmission, and a transmitter for sending each chunk on a next available one of the plurality of data transfer channels for reassembling the file at the second location, by receiving and reordering chunks in dependence upon their sequence.
In accordance with a further aspect of the present invention there is provided an apparatus for receiving data from a first location at a second location, comprising:
a link between a first location and a second location, a module for subdividing the link into a plurality of data transfer channels and a data transfer control channel, a file assembler at the second location, for reassembling the file at the second location, by receiving and reordering chunks in dependence upon their sequence.
An advantage of the present invention is increased efficiency of channel use for a relatively cost effective channel.
A further advantage of the present invention is providing a higher throughput of data for a given link data rate.
Brief Description of the Drawings The present invention will be further understood from the following detailed description with reference to the drawings in which:
Fig. 1 illustrates in a functional block diagram a network including apparatus for data transfer in accordance with an embodiment of the present invention;
Fig. 2 illustrates in a functional block diagram further detail of a portion of Fig. 1; and Fig. 3 illustrates in a functional block diagram further detail of the file transfer service of nodes and the dispatcher of Figs. 1 and 2; and Fig. 4 illustrates in a flow chart steps for fast copy channel set up for the method of file transfer in accordance with an embodiment of the present invention.
Fig. 5 method of file transfer in accordance with an embodiment of the present invention.
Detailed Description of the Preferred Embodiment Referring to Fig. 1 there is illustrated, in a functional block diagram, a network including apparatus for data transfer in accordance with an embodiment of the present invention. The network 10 includes nodes 12, 14, and 16 interconnected in a full mesh network by high-speed links 18, 20, and 22. The network also includes a dispatcher 24 coupled to the network database 26. Nodes 12, 14, and 16 include a file transfer service 28, 30 and 32 respectively. File transfer service 28, 30, and 32 are coupled to the dispatcher 24 via links 34, 36, and 38 respectively.
In operation, use of the high-speed links 18, 20 and 22 is coordinated by the dispatcher 24 as will be explained in further detail in regard to the following figures.
Referring to Fig. 2 there is illustrated in a functional block diagram further detail of a portion of Fig. 1. Fig. 2 illustrates an example of file transfer between two nodes of Fig. 1. Each node 12 and 14 includes in addition to the file transfer service 28 and 30 respectively databases 40 and 42 respectively and TCP/IP interfaces 44 and 46 respectively. Each file transfer service includes a circular buffer 48 and respectively, a file parser/assembler 52 and 54, respectively. File transfer services 28 and 30 also include graphic user interfaces 56 and 58 for interfacing with for example the end user 60 and 62.
In operation, a user 60 requests a file transfer from a remote node 14 via GUI
56, links 34 and 36 from node 12 and node 14 are activated to dispatcher 24 who provides the source node for example node 14 with the identity of the target node 12 for establishing the high-speed transfer via high-speed link 18. Nodes 12 and establish a mufti-channel pipeline within high-speed link 18 from the source node 14 to the target node 12. A desired file resident on server 42 of node 14 is first parsed into chunks of predetermined size appended with a sequence number and placed into circular buffer 50. Circular buffer 50 is emptied into a next available channel in the mufti-channel established in high-speed link 18. The TCP/IP channels transfer chunks from node 14 to node 12 acknowledge each chunk and then allow circular buffer to transfer the next available chunk. The target node 12 stores the incoming chunks in circular buffer 48 then transfers them in the file parser/assembler 52 into memory and depends upon the sequence number. Once the file is reassembled it is transferred to server 40 and made available to end user 60.
The method of Figs 1 and 2 include the following functionality:
1) File Creation a) store locally, e.g. Servers 40 and 42 5 b) store and transmit via the fast copy channel (FCC) as file is created.
For example converting analogue or digital broadcast video to an MPEG2 file.
2) File selection/transmission using web/database user interface and FCC;
3) Selection ad playback of broadcast video using web/database interface 4) Retrieval from archive of video onto operational servers eg. 40 and 42, using web/database interface.
Referring to Fig. 3 there is illustrated in a functional block diagram further detail of the file transfer service of nodes and the dispatcher of Figs. 1 and 2. In establishing the links 34 and 36 node 12 establishes a socket connection to the dispatcher initiated from the node. Similarly node 14 establishes a socket connection 64 to dispatcher 24. Each node sets up a fast copy channel set of sockets 70 and 72 respectively including one socket to the dispatcher for controlling the fast copy channel and a plurality of sockets to the other node.
Refernng to Fig. 4 there is illustrated in a flow chart steps for fast copy channel set up for the method of file transfer in accordance with an embodiment of the present invention.
Construction of the fast copy channel (FCChan) includes the steps of a) CV Dispatcher using the Node Control connection to send the 'FCChan construction' command together with the name of the spouse node to both spouses of the FCChan, as represented by block 80.
A further advantage of the present invention is providing a higher throughput of data for a given link data rate.
Brief Description of the Drawings The present invention will be further understood from the following detailed description with reference to the drawings in which:
Fig. 1 illustrates in a functional block diagram a network including apparatus for data transfer in accordance with an embodiment of the present invention;
Fig. 2 illustrates in a functional block diagram further detail of a portion of Fig. 1; and Fig. 3 illustrates in a functional block diagram further detail of the file transfer service of nodes and the dispatcher of Figs. 1 and 2; and Fig. 4 illustrates in a flow chart steps for fast copy channel set up for the method of file transfer in accordance with an embodiment of the present invention.
Fig. 5 method of file transfer in accordance with an embodiment of the present invention.
Detailed Description of the Preferred Embodiment Referring to Fig. 1 there is illustrated, in a functional block diagram, a network including apparatus for data transfer in accordance with an embodiment of the present invention. The network 10 includes nodes 12, 14, and 16 interconnected in a full mesh network by high-speed links 18, 20, and 22. The network also includes a dispatcher 24 coupled to the network database 26. Nodes 12, 14, and 16 include a file transfer service 28, 30 and 32 respectively. File transfer service 28, 30, and 32 are coupled to the dispatcher 24 via links 34, 36, and 38 respectively.
In operation, use of the high-speed links 18, 20 and 22 is coordinated by the dispatcher 24 as will be explained in further detail in regard to the following figures.
Referring to Fig. 2 there is illustrated in a functional block diagram further detail of a portion of Fig. 1. Fig. 2 illustrates an example of file transfer between two nodes of Fig. 1. Each node 12 and 14 includes in addition to the file transfer service 28 and 30 respectively databases 40 and 42 respectively and TCP/IP interfaces 44 and 46 respectively. Each file transfer service includes a circular buffer 48 and respectively, a file parser/assembler 52 and 54, respectively. File transfer services 28 and 30 also include graphic user interfaces 56 and 58 for interfacing with for example the end user 60 and 62.
In operation, a user 60 requests a file transfer from a remote node 14 via GUI
56, links 34 and 36 from node 12 and node 14 are activated to dispatcher 24 who provides the source node for example node 14 with the identity of the target node 12 for establishing the high-speed transfer via high-speed link 18. Nodes 12 and establish a mufti-channel pipeline within high-speed link 18 from the source node 14 to the target node 12. A desired file resident on server 42 of node 14 is first parsed into chunks of predetermined size appended with a sequence number and placed into circular buffer 50. Circular buffer 50 is emptied into a next available channel in the mufti-channel established in high-speed link 18. The TCP/IP channels transfer chunks from node 14 to node 12 acknowledge each chunk and then allow circular buffer to transfer the next available chunk. The target node 12 stores the incoming chunks in circular buffer 48 then transfers them in the file parser/assembler 52 into memory and depends upon the sequence number. Once the file is reassembled it is transferred to server 40 and made available to end user 60.
The method of Figs 1 and 2 include the following functionality:
1) File Creation a) store locally, e.g. Servers 40 and 42 5 b) store and transmit via the fast copy channel (FCC) as file is created.
For example converting analogue or digital broadcast video to an MPEG2 file.
2) File selection/transmission using web/database user interface and FCC;
3) Selection ad playback of broadcast video using web/database interface 4) Retrieval from archive of video onto operational servers eg. 40 and 42, using web/database interface.
Referring to Fig. 3 there is illustrated in a functional block diagram further detail of the file transfer service of nodes and the dispatcher of Figs. 1 and 2. In establishing the links 34 and 36 node 12 establishes a socket connection to the dispatcher initiated from the node. Similarly node 14 establishes a socket connection 64 to dispatcher 24. Each node sets up a fast copy channel set of sockets 70 and 72 respectively including one socket to the dispatcher for controlling the fast copy channel and a plurality of sockets to the other node.
Refernng to Fig. 4 there is illustrated in a flow chart steps for fast copy channel set up for the method of file transfer in accordance with an embodiment of the present invention.
Construction of the fast copy channel (FCChan) includes the steps of a) CV Dispatcher using the Node Control connection to send the 'FCChan construction' command together with the name of the spouse node to both spouses of the FCChan, as represented by block 80.
b) The spouses mate by creating one FCChan Channel connection and 32 Cargo connections between each other, as represented by block 82.
Refernng to Fig. 5 there is illustrated in a flow chart steps for file copying using the fast copy channel set up in Fig. 4 for the method of file transfer in accordance with an embodiment of the present invention.
The File Copying steps are:
a) The Sending Spouse uses the FCChan Control connection to notify the Receiving Spouse of an impending filecopy. It sends the file name, folder name and file size, as represented by block 90.
b) The Receiving Spouse calculates the number of 23356-byte chunks it will need to receive and makes a chunk checklist with an entry for each chunk, 1 S as represented by block 92.
c) The Sending Spouse reads from the file in 23356-byte chunks, a 4-byte sequential counter is put at its head and the resulting 23360-byte packet is sent to the Receiving Spouse on any available Cargo connection, as represented by block 94.
d) The Receiving Spouse reads the 4-byte sequential counter at the head of the received packet. It can then insert the appended 23356-byte chunk into the file being re-assembled at the appropriate spot and check the appropriate entry in the chunk checklist, as represented by block 96.
Referring to Fig. 6 there is illustrated in a flow chart steps for error handling during the file copying of Fig. 5. Error handling includes the following steps:
a) If all entries in the chunk checklist are checked then the FileCopy is considered successful.
Network drops If FCChan Control is dropped a line reconnect is attempted. On successful S reconnect the database is queried for incomplete transfers on line and by using chunk checklist the originating end sends packets not check off, as represented by block 102.
File corruption The same methodology is used if during a transfer a few packets do not show up (during time out). These are then retransmitted, as represented by block 104.
Both of these scenarios are possible because a file is parsed into 23356-byte chucks the same way every time. Therefore, for a given file ABC, chunk 100 contains the same data if file ABC needs to be read a second time.
Definitions FCChan - A 'FileCopyChannel' object which enables efficient TCP/IP file movement between two nodes ('spouses').
Connection - SocketlIpaddr-to-Socket/Ipaddr TCP connection.
While embodiments of the present invention have been described in the context of transferring a file between two servers in a private network via a dedicated link, it will be appreciated by those of ordinary skill that embodiments of the present invention would include applications in the access networks where downloading of relatively large files could be improved.
Modifications, variations and adaptations of the embodiments of the invention described above are possible within the scope of the present invention as defined in the claims.
Refernng to Fig. 5 there is illustrated in a flow chart steps for file copying using the fast copy channel set up in Fig. 4 for the method of file transfer in accordance with an embodiment of the present invention.
The File Copying steps are:
a) The Sending Spouse uses the FCChan Control connection to notify the Receiving Spouse of an impending filecopy. It sends the file name, folder name and file size, as represented by block 90.
b) The Receiving Spouse calculates the number of 23356-byte chunks it will need to receive and makes a chunk checklist with an entry for each chunk, 1 S as represented by block 92.
c) The Sending Spouse reads from the file in 23356-byte chunks, a 4-byte sequential counter is put at its head and the resulting 23360-byte packet is sent to the Receiving Spouse on any available Cargo connection, as represented by block 94.
d) The Receiving Spouse reads the 4-byte sequential counter at the head of the received packet. It can then insert the appended 23356-byte chunk into the file being re-assembled at the appropriate spot and check the appropriate entry in the chunk checklist, as represented by block 96.
Referring to Fig. 6 there is illustrated in a flow chart steps for error handling during the file copying of Fig. 5. Error handling includes the following steps:
a) If all entries in the chunk checklist are checked then the FileCopy is considered successful.
Network drops If FCChan Control is dropped a line reconnect is attempted. On successful S reconnect the database is queried for incomplete transfers on line and by using chunk checklist the originating end sends packets not check off, as represented by block 102.
File corruption The same methodology is used if during a transfer a few packets do not show up (during time out). These are then retransmitted, as represented by block 104.
Both of these scenarios are possible because a file is parsed into 23356-byte chucks the same way every time. Therefore, for a given file ABC, chunk 100 contains the same data if file ABC needs to be read a second time.
Definitions FCChan - A 'FileCopyChannel' object which enables efficient TCP/IP file movement between two nodes ('spouses').
Connection - SocketlIpaddr-to-Socket/Ipaddr TCP connection.
While embodiments of the present invention have been described in the context of transferring a file between two servers in a private network via a dedicated link, it will be appreciated by those of ordinary skill that embodiments of the present invention would include applications in the access networks where downloading of relatively large files could be improved.
Modifications, variations and adaptations of the embodiments of the invention described above are possible within the scope of the present invention as defined in the claims.
Claims (21)
1. A method of transferring data from a first location to a second location, comprising the steps of:
activating a link between a first location and a second location;
subdividing the link into a plurality of data transfer channels and a data transfer control channel;
at the first location, parsing a file to be transferred into a plurality of chunks, each chunk having a predetermined size;
sequencing and sending each chunk on a next available one of the plurality of data transfer channels; and at the second location, reassembling the file by receiving and reordering chunks in dependence upon their sequence.
activating a link between a first location and a second location;
subdividing the link into a plurality of data transfer channels and a data transfer control channel;
at the first location, parsing a file to be transferred into a plurality of chunks, each chunk having a predetermined size;
sequencing and sending each chunk on a next available one of the plurality of data transfer channels; and at the second location, reassembling the file by receiving and reordering chunks in dependence upon their sequence.
2. A method as claimed in claim 1 wherein the step of activating a link includes the step of establishing a dedicated link between the first location and the second location.
3. A method as claimed in claim 2 wherein the step of establishing a dedicated link establishes a high-speed TCP/IP link.
4. A method as claimed in claim 3 wherein the step of subdividing the link includes establishing a plurality of sockets between the first location and the second location.
5. A method as claimed in claim 4 wherein one of the plurality of sockets is the data transfer control channel.
6. A method as claimed in claim 5 wherein remaining sockets of the plurality of sockets are data transfer channels.
7. A method as claimed in claim 1 wherein the step of sequencing each chunk includes the step of appending a sequence indicator to each chunk.
8. A method as claimed in claim 7 wherein reordering each chunk includes the step of storing each chunk in dependence upon the sequence indicator of each chunk.
9. A method as claimed in claim 1 further comprising the step of determining a chunk has not been received.
10. A method as claimed in claim 9 wherein the step of determining a chunk has not been received includes the step of scanning the file during reassembling to identify any missing chunks and after a predetermined period, requesting retransmission of a missing chunk.
11. Apparatus for transferring data from a first location to a second location, comprising:
a link between a first location and a second location;
a module for subdividing the link into a plurality of data transfer channels and a data transfer control channel;
a file parser at the first location, for parsing a file to be transferred into a plurality of chunks, each chunk having a predetermined size;
a chunk sequencer for sequencing the chunks prior to transmission; and a transmitter for sending each chunk on a next available one of the plurality of data transfer channels for reassembling the file at the second location, by receiving and reordering chunks in dependence upon their sequence.
a link between a first location and a second location;
a module for subdividing the link into a plurality of data transfer channels and a data transfer control channel;
a file parser at the first location, for parsing a file to be transferred into a plurality of chunks, each chunk having a predetermined size;
a chunk sequencer for sequencing the chunks prior to transmission; and a transmitter for sending each chunk on a next available one of the plurality of data transfer channels for reassembling the file at the second location, by receiving and reordering chunks in dependence upon their sequence.
12. Apparatus as claimed in claim 11 wherein the link includes a dedicated link between the first location and the second location.
13. Apparatus as claimed in claim 12 wherein the dedicated link includes a high-speed TCP/IP link.
14. Apparatus as claimed in claim 13 wherein the dedicated link is subdivided into a plurality of sockets between the first location and the second location.
15. Apparatus as claimed in claim 14 wherein one of the plurality of sockets is the data transfer control channel.
16. Apparatus as claimed in claim 15 wherein remaining sockets of the plurality of sockets are data transfer channels.
17. Apparatus as claimed in claim 11 wherein the chunk sequencer includes a device for appending a sequence indicator to each chunk.
18. Apparatus for receiving data from a first location at a second location, comprising:
a link between a first location and a second location;
a module for subdividing the link into a plurality of data transfer channels and a data transfer control channel;
a file assembler at the second location, for reassembling the file at the second location, by receiving and reordering chunks in dependence upon their sequence.
a link between a first location and a second location;
a module for subdividing the link into a plurality of data transfer channels and a data transfer control channel;
a file assembler at the second location, for reassembling the file at the second location, by receiving and reordering chunks in dependence upon their sequence.
19. Apparatus as claimed in claim18 wherein the file assembler includes a file memory for storing each chunk in dependence upon a sequence indicator of each chunk.
20. Apparatus as claimed in claim 18 further comprising a device for determining a chunk has not been received.
21. Apparatus as claimed in claim 20 wherein the device for determining a chunk has not been received includes a scanner for scanning the file memory during reassembling to identify any missing chunks and after a predetermined period, requesting retransmission of a missing chunk.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 2385344 CA2385344A1 (en) | 2002-05-08 | 2002-05-08 | Data transfer method and apparatus |
PCT/CA2003/000558 WO2003096646A1 (en) | 2002-05-08 | 2003-04-16 | File transfer method and apparatus |
AU2003218932A AU2003218932A1 (en) | 2002-05-08 | 2003-04-16 | File transfer method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 2385344 CA2385344A1 (en) | 2002-05-08 | 2002-05-08 | Data transfer method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2385344A1 true CA2385344A1 (en) | 2003-11-08 |
Family
ID=29410098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA 2385344 Abandoned CA2385344A1 (en) | 2002-05-08 | 2002-05-08 | Data transfer method and apparatus |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU2003218932A1 (en) |
CA (1) | CA2385344A1 (en) |
WO (1) | WO2003096646A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529778B1 (en) | 2001-12-12 | 2009-05-05 | Microsoft Corporation | System and method for providing access to consistent point-in-time file versions |
US7617256B2 (en) | 2004-07-19 | 2009-11-10 | Microsoft Corporation | Remote file updates through remote protocol |
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
CN113055433A (en) * | 2021-02-02 | 2021-06-29 | 新华三信息技术有限公司 | File transmission method, device, equipment and machine-readable storage medium |
CN115086296B (en) * | 2022-05-27 | 2024-04-05 | 阿里巴巴(中国)有限公司 | Log transmission system, log transmission method and related device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085251A (en) * | 1998-04-02 | 2000-07-04 | The United States Of America As Represented By The Secretary Of The Air Force | Implementing a parallel file transfer protocol |
US6850962B1 (en) * | 1999-05-07 | 2005-02-01 | Commercequest, Inc. | File transfer system and method |
CA2398265A1 (en) * | 2000-01-24 | 2001-07-26 | The University Of Manitoba | Method and system for segmented file transfer |
-
2002
- 2002-05-08 CA CA 2385344 patent/CA2385344A1/en not_active Abandoned
-
2003
- 2003-04-16 WO PCT/CA2003/000558 patent/WO2003096646A1/en not_active Application Discontinuation
- 2003-04-16 AU AU2003218932A patent/AU2003218932A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
AU2003218932A1 (en) | 2003-11-11 |
WO2003096646A1 (en) | 2003-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101006703B1 (en) | System and method for transmitting media based files | |
US20030210711A1 (en) | Data transfer method and apparatus | |
US7937638B2 (en) | Error correction apparatus and method | |
US5844594A (en) | Method and apparatus for MPEG encoding | |
US7373418B2 (en) | Wire protocol for a media server system | |
US20020042817A1 (en) | System and method for mirroring and caching compressed data in a content distribution system | |
US20060198392A1 (en) | Transcoding apparatus and method for seamless multimedia content transmission | |
US20020040404A1 (en) | System and method for performing broadcast-enabled disk drive replication in a distributed data delivery network | |
US8135031B2 (en) | Method and device for wireless transmissions of internet protocol TV | |
US7388884B2 (en) | Cable modem system and method for specialized data transfer | |
US9153127B2 (en) | Video transmitting apparatus, video receiving apparatus, and video transmission system | |
EP2424239A2 (en) | Method for transmitting an iptv streaming service by p2p transmission, and method for receiving an iptv streaming service by p2p transmission | |
US20070067485A1 (en) | Method and system for managing video networks | |
JP2008178140A (en) | Method and device for streaming dicom images through transmission origin, and reception side of data element | |
US20050172340A1 (en) | Method and system for distributed content management and delivery | |
US20050187960A1 (en) | Stream server | |
CA2385344A1 (en) | Data transfer method and apparatus | |
US8706843B2 (en) | Network connector device | |
KR101955690B1 (en) | Apparatus and method for delivering multimedia data in hybrid network | |
US7007113B2 (en) | System and method for data re-compression for communication over IP | |
KR20190021300A (en) | Apparatus and method for delivering multimedia data in hybrid network | |
KR20090008472A (en) | Method and device for wireless transmission of internet protocol tv | |
JP2006245804A (en) | Content downloading system and program and storage medium storing content downloading program | |
KR20150035857A (en) | Apparatus and method for delivering multimedia data in hybrid network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Dead |