CA2385344A1 - Data transfer method and apparatus - Google Patents

Data transfer method and apparatus Download PDF

Info

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
Application number
CA 2385344
Other languages
French (fr)
Inventor
Albert William Faust
Tracy Arthur Bond
David Michael Dickson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BELL GLOBEMEDIA Inc
Original Assignee
BELL GLOBEMEDIA Inc
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 BELL GLOBEMEDIA Inc filed Critical BELL GLOBEMEDIA Inc
Priority to CA 2385344 priority Critical patent/CA2385344A1/en
Priority to PCT/CA2003/000558 priority patent/WO2003096646A1/en
Priority to AU2003218932A priority patent/AU2003218932A1/en
Publication of CA2385344A1 publication Critical patent/CA2385344A1/en
Abandoned legal-status Critical Current

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/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/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/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/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]

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.

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.
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.
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.

Claims (21)

What is claimed is:
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.
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.
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.
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.
CA 2385344 2002-05-08 2002-05-08 Data transfer method and apparatus Abandoned CA2385344A1 (en)

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)

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

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

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