US6192412B1 - Computer file transmission system and method - Google Patents

Computer file transmission system and method Download PDF

Info

Publication number
US6192412B1
US6192412B1 US09/124,164 US12416498A US6192412B1 US 6192412 B1 US6192412 B1 US 6192412B1 US 12416498 A US12416498 A US 12416498A US 6192412 B1 US6192412 B1 US 6192412B1
Authority
US
United States
Prior art keywords
transmission
component
computer
component sections
file
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.)
Expired - Lifetime
Application number
US09/124,164
Inventor
Eduardo Cantoral
Joseph F. Lennert
Steve A. Plovich
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.)
Nokia of America Corp
WSOU Investments LLC
Original Assignee
Lucent Technologies 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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Priority to US09/124,164 priority Critical patent/US6192412B1/en
Assigned to LUCENT TECHNOLOGIES INC. reassignment LUCENT TECHNOLOGIES INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CANTORAL, EDUARDO, LENNERT, JOSEPH F., PLOVICH, STEVE A.
Application granted granted Critical
Publication of US6192412B1 publication Critical patent/US6192412B1/en
Assigned to OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP reassignment OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WSOU INVESTMENTS, LLC
Assigned to WSOU INVESTMENTS, LLC reassignment WSOU INVESTMENTS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALCATEL LUCENT
Anticipated expiration legal-status Critical
Assigned to WSOU INVESTMENTS, LLC reassignment WSOU INVESTMENTS, LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
Assigned to OT WSOU TERRIER HOLDINGS, LLC reassignment OT WSOU TERRIER HOLDINGS, LLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WSOU INVESTMENTS, LLC
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]

Definitions

  • the present invention relates generally to the field of computer communication systems and more particularly to computer file transfer systems.
  • the problem of excessive file transfer times of known file transmitting systems, particularly with respect to very large files, is overcome by splitting the file into a plurality of component sections each of which is sent independently.
  • a system of the invention includes a file splitter, for separating the computer file into component sections and a file transmitter for independently sending the component sections to the receiving computer.
  • the file splitter includes a recursive splitter for splitting the computer file into smaller component sections from the larger component sections.
  • the file splitter includes an initial file size selector for preselecting the maximum size for a component section and a threshold selector for stopping the recursive splitter when the size of the smallest component section is equal to or less than a minimum size for a component section.
  • the threshold selector preferably includes a variable selector for changing the maximum size of the component sections in accordance with a preselected environmental variable and means for determining the environmental variable.
  • a transmission controller at the transmitting computer independently controls transmission of each of the component sections of the file to the receiving computer includes a router for independently controlling the routing of the transmission of each of the component sections of the computer file. Additionally, the transmission controller includes a file compressor for independently controlling the compression of each of the component sections prior to transmission to the receiving computer.
  • the transmission controller also includes a retransmitter for independently controlling the retransmission of each of the component sections in the event of transmission failure and means for concurrently transmitting each component section asynchronously relative to each other component section.
  • FIG. 1 is a functional block diagram of an embodiment of the system of the invention
  • FIG. 2 is a functional block diagram showing the preferred form of the file splitter functional block in FIG. 1;
  • FIG. 2A is a functional block diagram showing the preferred form of the leaf controller functional block in FIG. 1;
  • FIG. 3 is a functional block diagram showing the preferred form of the file transmitter functional block in FIG. 1;
  • FIG. 4 is a schematic illustration of the recursive file splitting and file integrating functions respectively performed by the file splitter and the file transmitter of the system of the invention
  • FIG. 5 is a portion of a composite logic flow chart, shown also in FIGS. 6, 7 and 8 , of the process performed at the file transmitter of the system of FIGS. 1, 2 , and 3 to obtain transfer heuristics of the system;
  • FIG. 6 is another portion of the composite logic flow chart that shows the preferred process performed by the recursive file splitter and the leaf controller of FIG. 1,
  • FIG. 7 is another portion of the composite logic flow chart that shows the preferred process for independent asynchronous packet transfer of the file sections to the receiving computer of FIG. 1;
  • FIG. 8 is a another portion of the composite logic flow chart showing the preferred steps for a watchdog process and completion check.
  • a transmitting computer 2 sends a computer file 4 to the system 6 .
  • the system 6 processes the computer file 4 through a file splitter 8 and a leaf controller 10 and transmits the results through a file transmitter 12 and network 13 .
  • a file receiver and combiner 15 receives and recombines it to create an image computer file 68 .
  • the image computer file 68 is then sent to the receiving computer 14 .
  • the system 6 file splitter 8 has a recursive file splitter 17 , threshold selector 19 , and a transfer control database 82 of FIG. 5 .
  • the computer file 4 inputs into the recursive file splitter 17 .
  • the transfer control database 82 provides the initial file size of a section to the recursive file splitter 17 .
  • the initial file size is based on previous transmissions.
  • the recursive file splitter 17 passes the section of initial file size to the threshold selector 19 .
  • the threshold selector 19 determines whether the section size is acceptable for proper transmission.
  • the threshold selector 19 passes the section back to the recursive file splitter 17 which divides the section into subsections that are sent back to the threshold selector 19 which again determines whether the new section size is acceptable for proper transmission. If, instead, the size is acceptable the threshold selector 19 passes the subsection to the leaf controller 10 .
  • the transfer control database 82 is a log of results from previous transmissions and transmission attempts. This log includes the size of the computer file 4 , the size of each component section, the number of component sections that compose the computer file 4 , the interval times, the number of attempted retransmissions, the time of retransmission of each component section, routing path information for each component section, and any reasons for any failure in transmission of any component section.
  • the transfer control database 82 is shown internal to the file splitter 17 . The system 6 performs equally well if the transfer control database 82 is part of the system 6 but external to the file splitter 17 .
  • the leaf controller has four elements.
  • a results database 33 is the transfer control database 82 of FIG. 5 .
  • the actual location of the transfer control database 82 need not be located inside the leaf controller 10 , but the information from the transfer control database 82 is available to the leaf controller 10 .
  • the leaf controller 10 uses a central processing unit 35 to monitor the results of the file splitter 8 in FIG. 1 and the results database 33 .
  • the leaf controller 10 keeps track of this information in the clean up memory 37 until the computer file 4 of FIG. 1 has been successfully transmitted to the receiving computer 14 . Once the transmission is successful the central processing unit 35 clears the clean up memory 37 .
  • Stored in storage memory 39 is software that controls the central processing unit 35 of the leaf controller 10 and performs the steps of the flow chart shown in FIG. 6 .
  • the file transmitter 12 of FIG. 1 is shown with a transmission controller 21 .
  • the transmission controller 21 has five elements whose functions will be described in FIGS. 6, 7 , and 8 .
  • the file transmitter 12 includes a router 23 , a file compressor 25 , a retransmitter 27 , an asynchronous transmit unit 29 , and a concurrent transmit unit 31 .
  • the system 6 is shown in detail.
  • the computer file 4 having a size on the order of 0.5 gigabit and up, is input into the system 6 from the transmitting computer 2 .
  • the system 6 first splits the computer file 4 , through the file splitter 8 of FIG. 1, into component sections shown as sections 16 , 18 , and 20 and, if needed, subsections 22 , 24 , 26 , 28 , 30 , 32 , 34 , 36 , and 38 .
  • the system 6 manages these sections and subsections in the leaf controller 10 of FIG. 1 . If the size of the file permits, the system 6 transmits either the sections 16 , 18 , and 20 .
  • the system 6 creates and sends the subsections 22 , 24 , 26 , 28 , 30 , 32 , 34 , 36 , and 38 .
  • the system 6 creates and sends a combination of both sections and subsections through a network access input 40 , network 13 , and network access output 42 .
  • the leaf controller 10 manages these sections and subsections based on the recorded environmental conditions as recorded in the transfer control database 82 (shown in FIG. 5 ).
  • the leaf controller 10 in one example uses multi-threaded state based entities.
  • the file splitter 8 the optimal component section size that was successful that was used in a previous file transfer.
  • the environmental conditions select the maximum size for a component section.
  • the file splitter 8 initially sets the size of sections 16 , 18 , and 20 to the optimal size of the last file transfer. If the environmental conditions change and the sections do not transfer, the leaf controller 10 attempts to retransmit the individual sections that did not transfer correctly. If the transfer still fails, then after a given amount of retransmission attempts, the file splitter 8 begins a recursive process to find a smaller optimal size that transfers correctly. This recursive process is limited to the individual section or sections that did not transfer correctly.
  • the file splitter 8 recursively generates subsections 22 , 24 , and 26 .
  • the leaf controller 10 attempts to transmit the subsections 22 , 24 , and 26 . If one of the subsections is transmitted correctly the file size of the transmitted subsection is selected as the minimum size (optimal size) for a component section and the recursive process stops when the subsections are of a size equal to or less than the optimal size. Once the new optimal size has been determined for the subsections 22 , 24 , and 26 to transfer correctly, the information is sent to the transfer control database 82 of FIG. 5 . The system 6 then integrates the received sections and subsections to produce an image computer file 68 that is input to the receiving computer 14 .
  • FIG. 4 only shows, for illustration purposes, a limited number of sections 16 , 18 , and 20 and subsections 22 , 24 , 26 , 28 , 30 , 32 , 34 , 36 , and 38 .
  • subsections 22 , 24 , 26 , 28 , 30 , 32 , 34 , 36 , and 38 are leaf nodes because the subsections are shown in FIG. 4 to be the final component sections of the recursive process.
  • Leaf nodes are end points that cannot be traversed.
  • the subsections 22 , 24 , 26 , 28 , 30 , 32 , 34 , 36 , and 38 are leaf nodes.
  • Optimal file size is defined as the file size of the leaf node that has the highest probability of completing a transfer from the transmitting computer 2 to the receiving computer 14 based on the environmental conditions.
  • the environmental conditions include machine(s), network, and transfer heuristics.
  • the transfer heuristics consists of the transfer control database 82 (shown in FIG. 5) which contains the history information for the system 6 .
  • the transfer control database 82 shown in FIG. 5
  • the system 6 transmits the leaf nodes simultaneously through the network access input 40 to the network access output 42 .
  • the system 6 then produces the received subsections 44 , 46 , 48 , 50 , 52 , 54 , 56 , 58 , and 60 .
  • the system 6 compares all the received subsections 44 , 46 , 48 , 50 , 52 , 54 , 56 , 58 , and 60 against the subsections 22 , 24 , 26 , 28 , 30 , 32 , 34 , 36 , and 38 sent. If a received subsection does not match the corresponding sent subsection, the system 6 retransmits the subsection.
  • the system 6 creates the image computer file 68 .
  • FIG. 4 for illustration purposes, only shows a limited number of subsections 44 , 46 , 48 , 50 , 52 , 54 , 56 , 58 , and 60 .
  • the actual number of subsections that are used is determined by the conditions existing at the time of transmission.
  • the recursive splitting process of the computer file 6 produces the different number of sections and subsections for the different environment conditions.
  • FIG. 5 is a simple flow chart showing the steps in obtaining transfer heuristics of the system 6 .
  • the transfer heuristics consists of the transfer control database 82 that contains the transfer history of the system.
  • Each sectional part transfer job collects system 6 status with respect to itself and updates the transfer control database 82 .
  • the transfer heuristics is checking for available space on the receiving computer 14 (referred to as the target).
  • Other examples for the transfer heuristics are based on network and system performance such as elapsed time of sectional part transfer through the network, number of transmission retries, number of recursive transfer calls, number and path of transfer nodes used and final sectional part size successfully transferred.
  • step 72 processing commences by checking space on the target. If there is enough space, in step 74 the process continues through junction 76 to step 86 , FIG. 6 . In step 86 , the file splitter 8 , as previously described in FIG. 2, splits very large files into N sections. If there is not enough space, decision step 74 triggers an error in step 78 and the process logs the reason for the failure in step 80 , updates the transfer control database 82 , and ends the process in step 84 .
  • the file splitter 8 splits the computer file 4 into N sections in step 86 .
  • the value of N is selectively determined by one of the operation environment 88 and the transfer control database 82 of FIG. 3 .
  • the operational environment 88 is the information from a particular environment of interest such as a manual override of the transfer control database 82 of FIG. 5 . If such information exits decision step 90 provides that environmental parameter to step 92 which produces a value on N based on the environmental parameter. If there is no environmental parameter, decision step 90 goes to step 94 which supplies a value for N based on the transfer control database 82 of FIG. 5 . The value of N from either step 92 or step 94 is then sent to step 86 .
  • the file splitter 8 splits the computer file 4 into N sections. After every split, the file splitter checks, in decision step 96 , for process completion. If the process of splitting the computer file is not complete in step 96 the process returns to step 86 , and the file splitter 8 continues to split the sections into new subsections. If the process of splitting is complete, in step 96 the resultant leaf nodes are sent to the leaf controller 10 of FIG. 1 .
  • step 98 the leaf controller 10 identifies each leaf node.
  • the leaf controller 10 then gets the wait interval time, in step 100 , from the transfer control database 82 in step 102 .
  • the leaf controller 10 After getting the wait interval time, the leaf controller 10 then sends the information to a watchdog process in step 108 that is described in FIG. 5 . If the wait interval time has elapsed, decision step 104 sends the information to a file compressor 110 (shown in FIG. 5) in step 106 . If the wait interval time has not elapsed, the decision step 104 checks again.
  • FIG. 7 is a flow chart for the packet transfer of the sections.
  • the doted lines 130 represent the individual sections shown in FIG. 2 . If the wait interval time has elapsed in step 104 of FIG. 4, the packet transfer of the sections begins. If compression is needed, the sectional parts are compressed in step 10 before the initiation of the sectional part transfer in step 112 .
  • decision step 114 tests to see if the file transfer was successful. If yes, the process is passed to the watchdog process in step 108 . If no, decision step 118 tests whether the threshold on retries has been achieved. This threshold is determined by the needs of the system performance. If the result of decision step 118 is no, the process first decides to re-send the packet in step 122 and then initiates a recursive sectional part transfer in step 112 .
  • the process next determines if the split threshold has been exceeded in decision step 120 . If the result of decision step 120 is no, the process splits the sectional part in step 124 and initiates the sectional part transfer in step 112 . If the result of decision step 120 is yes, the process determines if the alternative route list has been exhausted in decision step 126 .
  • step 126 If the result of decision step 126 is no, the process gets on alternative route in step 128 and sends the sectional part in step 112 . If the result of decision step 126 is yes, the section part transfer is stopped in step 116 and the process is sent to the watchdog process in step 108 .
  • FIG. 8 is a flow chart of the watchdog process and completion check.
  • the watchdog process first checks, in decision step 132 , whether the maximum transfer time has elapsed. If yes, step 134 stops the transfer of all the sectional parts. If no, process checks if any sectional parts have failed transmission in decision step 136 . If yes, step 134 stops the transfer of all the sectional parts. If no, the process continues on check if there is a manual stop request in decision step 138 . If yes, step 134 stops the transfer of all the sectional parts. If no, the process then checks if all the sectional parts have been transmitted in decision step 140 . If no, the process loops back to decision step 132 and checks if the maximum transfer time has elapsed. If yes, the process recombines all the sectional parts on the destination machine (receiving computer 14 in FIG. 1) in step 142 .
  • the process then checks to see if the sectional parts have completed recombination in decision step 156 . If yes, the process transfers the log information about all the sectional part transfers to the receiving computer 14 in step 154 . If no, the process checks if the maximum transfer time has elapsed in decision step 158 . If no, the process again checks to see if the sectional parts have completed recombination in decision step 156 . If yes, the process stops the transfer of all the sectional parts in step 134 .
  • step 134 logs the reason for the failure in step 144 ; removes all the sectional parts on the source machine (the transmitting computer 2 in FIG. 1 ); removes all the sectional parts on the destination machine (receiving computer 14 in FIG. 1 ); updates the transfer control database 82 in step 150 ; and stops the process in step 152 .
  • the process removes all the sectional parts on the source machine (the transmitting computer 2 in FIG. 1 ); removes all the sectional parts on the destination machine (receiving computer 14 in FIG. 1 ); updates the transfer control database 82 in step 150 ; and stops the process in step 152 .

Abstract

A system and method for transferring large computer files across computer networks that has a file splitter that separates a computer file into component sections, and a file transmitter that independently sends the component sections to a receiving computer by a recursive process that starts recursively splitting from a preselected maximum size for a component section and stops when the size of the smallest component section is equal to or less than a selected minimum size for a component section.

Description

BACKGROUND OF THE INVENTION
The present invention relates generally to the field of computer communication systems and more particularly to computer file transfer systems.
The transfer of large computer files between different computers continues to grow worldwide at a rapid pace. Databases, video files, and other large computer files are used extensively on present computer networks. Disadvantageously, transferring these large files between different computer networks through existing computer file transfer systems require a large amount of time. The present inventors have determined that a very significant portion of the excessive time for successful transmission of these large files is due to the retransmission of the large files because initially or on subsequent attempts they are not received correctly at the intended recipient computer.
SUMMARY OF THE INVENTION
In accordance with the present invention, the problem of excessive file transfer times of known file transmitting systems, particularly with respect to very large files, is overcome by splitting the file into a plurality of component sections each of which is sent independently.
Preferably, a system of the invention includes a file splitter, for separating the computer file into component sections and a file transmitter for independently sending the component sections to the receiving computer. The file splitter includes a recursive splitter for splitting the computer file into smaller component sections from the larger component sections. The file splitter includes an initial file size selector for preselecting the maximum size for a component section and a threshold selector for stopping the recursive splitter when the size of the smallest component section is equal to or less than a minimum size for a component section.
The threshold selector preferably includes a variable selector for changing the maximum size of the component sections in accordance with a preselected environmental variable and means for determining the environmental variable.
A transmission controller at the transmitting computer independently controls transmission of each of the component sections of the file to the receiving computer includes a router for independently controlling the routing of the transmission of each of the component sections of the computer file. Additionally, the transmission controller includes a file compressor for independently controlling the compression of each of the component sections prior to transmission to the receiving computer.
Preferably, the transmission controller also includes a retransmitter for independently controlling the retransmission of each of the component sections in the event of transmission failure and means for concurrently transmitting each component section asynchronously relative to each other component section.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing advantageous features of the invention will be described in detail and other advantageous features will be made apparent upon reading the following detailed description that is given with reference to the several figures of the drawings, in which:
FIG. 1 is a functional block diagram of an embodiment of the system of the invention;
FIG. 2 is a functional block diagram showing the preferred form of the file splitter functional block in FIG. 1;
FIG. 2A is a functional block diagram showing the preferred form of the leaf controller functional block in FIG. 1;
FIG. 3 is a functional block diagram showing the preferred form of the file transmitter functional block in FIG. 1;
FIG. 4 is a schematic illustration of the recursive file splitting and file integrating functions respectively performed by the file splitter and the file transmitter of the system of the invention;
FIG. 5 is a portion of a composite logic flow chart, shown also in FIGS. 6, 7 and 8, of the process performed at the file transmitter of the system of FIGS. 1, 2, and 3 to obtain transfer heuristics of the system;
FIG. 6 is another portion of the composite logic flow chart that shows the preferred process performed by the recursive file splitter and the leaf controller of FIG. 1,
FIG. 7 is another portion of the composite logic flow chart that shows the preferred process for independent asynchronous packet transfer of the file sections to the receiving computer of FIG. 1; and
FIG. 8 is a another portion of the composite logic flow chart showing the preferred steps for a watchdog process and completion check.
DETAILED DESCRIPTION
Referring to FIG. 1, a transmitting computer 2 sends a computer file 4 to the system 6. The system 6 processes the computer file 4 through a file splitter 8 and a leaf controller 10 and transmits the results through a file transmitter 12 and network 13. A file receiver and combiner 15 receives and recombines it to create an image computer file 68. The image computer file 68 is then sent to the receiving computer 14.
In FIG. 2, the system 6 file splitter 8 has a recursive file splitter 17, threshold selector 19, and a transfer control database 82 of FIG. 5. The computer file 4 inputs into the recursive file splitter 17. The transfer control database 82 provides the initial file size of a section to the recursive file splitter 17. The initial file size is based on previous transmissions. The recursive file splitter 17 passes the section of initial file size to the threshold selector 19. The threshold selector 19 determines whether the section size is acceptable for proper transmission. If the size is unacceptable the threshold selector 19 passes the section back to the recursive file splitter 17 which divides the section into subsections that are sent back to the threshold selector 19 which again determines whether the new section size is acceptable for proper transmission. If, instead, the size is acceptable the threshold selector 19 passes the subsection to the leaf controller 10.
The transfer control database 82, FIG. 5, is a log of results from previous transmissions and transmission attempts. This log includes the size of the computer file 4, the size of each component section, the number of component sections that compose the computer file 4, the interval times, the number of attempted retransmissions, the time of retransmission of each component section, routing path information for each component section, and any reasons for any failure in transmission of any component section. For purposes of example the transfer control database 82 is shown internal to the file splitter 17. The system 6 performs equally well if the transfer control database 82 is part of the system 6 but external to the file splitter 17.
In FIG. 2A, the leaf controller has four elements. A results database 33, a central processing unit 35, a clean up memory unit 37, and a storage memory unit 39. The results database 33 is the transfer control database 82 of FIG. 5. Here again, the actual location of the transfer control database 82 need not be located inside the leaf controller 10, but the information from the transfer control database 82 is available to the leaf controller 10.
The leaf controller 10 uses a central processing unit 35 to monitor the results of the file splitter 8 in FIG. 1 and the results database 33. The leaf controller 10 keeps track of this information in the clean up memory 37 until the computer file 4 of FIG. 1 has been successfully transmitted to the receiving computer 14. Once the transmission is successful the central processing unit 35 clears the clean up memory 37. Stored in storage memory 39 is software that controls the central processing unit 35 of the leaf controller 10 and performs the steps of the flow chart shown in FIG. 6.
Referring to FIG. 3, the file transmitter 12 of FIG. 1 is shown with a transmission controller 21. The transmission controller 21 has five elements whose functions will be described in FIGS. 6, 7, and 8. The file transmitter 12 includes a router 23, a file compressor 25, a retransmitter 27, an asynchronous transmit unit 29, and a concurrent transmit unit 31.
In FIG. 4, the system 6 is shown in detail. The computer file 4, having a size on the order of 0.5 gigabit and up, is input into the system 6 from the transmitting computer 2. The system 6 first splits the computer file 4, through the file splitter 8 of FIG. 1, into component sections shown as sections 16, 18, and 20 and, if needed, subsections 22, 24, 26, 28, 30, 32, 34, 36, and 38. The system 6 manages these sections and subsections in the leaf controller 10 of FIG. 1. If the size of the file permits, the system 6 transmits either the sections 16, 18, and 20. If the size of the file is larger then the system 6 creates and sends the subsections 22, 24, 26, 28, 30, 32, 34, 36, and 38. On the other hand, if only a limited number of the files are too large, then the system 6 creates and sends a combination of both sections and subsections through a network access input 40, network 13, and network access output 42. The leaf controller 10 manages these sections and subsections based on the recorded environmental conditions as recorded in the transfer control database 82 (shown in FIG. 5). The leaf controller 10 in one example uses multi-threaded state based entities.
These recorded environmental conditions give the file splitter 8 the optimal component section size that was successful that was used in a previous file transfer. Thus the environmental conditions select the maximum size for a component section. As such, the file splitter 8 initially sets the size of sections 16, 18, and 20 to the optimal size of the last file transfer. If the environmental conditions change and the sections do not transfer, the leaf controller 10 attempts to retransmit the individual sections that did not transfer correctly. If the transfer still fails, then after a given amount of retransmission attempts, the file splitter 8 begins a recursive process to find a smaller optimal size that transfers correctly. This recursive process is limited to the individual section or sections that did not transfer correctly.
Thus, as an example, if section 16 did not transfer correctly after a given number of retransmission attempts, the file splitter 8 recursively generates subsections 22, 24, and 26. The leaf controller 10 attempts to transmit the subsections 22, 24, and 26. If one of the subsections is transmitted correctly the file size of the transmitted subsection is selected as the minimum size (optimal size) for a component section and the recursive process stops when the subsections are of a size equal to or less than the optimal size. Once the new optimal size has been determined for the subsections 22, 24, and 26 to transfer correctly, the information is sent to the transfer control database 82 of FIG. 5. The system 6 then integrates the received sections and subsections to produce an image computer file 68 that is input to the receiving computer 14.
FIG. 4 only shows, for illustration purposes, a limited number of sections 16, 18, and 20 and subsections 22, 24, 26, 28, 30, 32, 34, 36, and 38. In the example given, subsections 22, 24, 26, 28, 30, 32, 34, 36, and 38 are leaf nodes because the subsections are shown in FIG. 4 to be the final component sections of the recursive process. Leaf nodes are end points that cannot be traversed. In this example, the subsections 22, 24, 26, 28, 30, 32, 34, 36, and 38 are leaf nodes.
Optimal file size is defined as the file size of the leaf node that has the highest probability of completing a transfer from the transmitting computer 2 to the receiving computer 14 based on the environmental conditions. The environmental conditions include machine(s), network, and transfer heuristics. The transfer heuristics consists of the transfer control database 82 (shown in FIG. 5) which contains the history information for the system 6. Thus, the recursive splitting process will produce a different number of leaf nodes for different environmental conditions.
Once the computer file 6 has been split into a given number of leaf nodes, the system 6 transmits the leaf nodes simultaneously through the network access input 40 to the network access output 42. The system 6 then produces the received subsections 44, 46, 48, 50, 52, 54, 56, 58, and 60. The system 6 compares all the received subsections 44, 46, 48, 50, 52, 54, 56, 58, and 60 against the subsections 22, 24, 26, 28, 30, 32, 34, 36, and 38 sent. If a received subsection does not match the corresponding sent subsection, the system 6 retransmits the subsection.
Once all the received subsections 44, 46, 48, 50, 52, 54, 56, 58, and 60 corresponding to the sent leaf nodes, the system 6 creates the image computer file 68. FIG. 4, for illustration purposes, only shows a limited number of subsections 44, 46, 48, 50, 52, 54, 56, 58, and 60. The actual number of subsections that are used is determined by the conditions existing at the time of transmission. The recursive splitting process of the computer file 6 produces the different number of sections and subsections for the different environment conditions.
FIG. 5 is a simple flow chart showing the steps in obtaining transfer heuristics of the system 6. The transfer heuristics consists of the transfer control database 82 that contains the transfer history of the system. Each sectional part transfer job collects system 6 status with respect to itself and updates the transfer control database 82. In this example, the transfer heuristics is checking for available space on the receiving computer 14 (referred to as the target). Other examples for the transfer heuristics are based on network and system performance such as elapsed time of sectional part transfer through the network, number of transmission retries, number of recursive transfer calls, number and path of transfer nodes used and final sectional part size successfully transferred.
Referring to FIG. 5, the system 6 starts at 70. In step 72, processing commences by checking space on the target. If there is enough space, in step 74 the process continues through junction 76 to step 86, FIG. 6. In step 86, the file splitter 8, as previously described in FIG. 2, splits very large files into N sections. If there is not enough space, decision step 74 triggers an error in step 78 and the process logs the reason for the failure in step 80, updates the transfer control database 82, and ends the process in step 84.
Referring to FIG. 6, the file splitter 8 splits the computer file 4 into N sections in step 86. The value of N is selectively determined by one of the operation environment 88 and the transfer control database 82 of FIG. 3.
The operational environment 88 is the information from a particular environment of interest such as a manual override of the transfer control database 82 of FIG. 5. If such information exits decision step 90 provides that environmental parameter to step 92 which produces a value on N based on the environmental parameter. If there is no environmental parameter, decision step 90 goes to step 94 which supplies a value for N based on the transfer control database 82 of FIG. 5. The value of N from either step 92 or step 94 is then sent to step 86.
The file splitter 8 splits the computer file 4 into N sections. After every split, the file splitter checks, in decision step 96, for process completion. If the process of splitting the computer file is not complete in step 96 the process returns to step 86, and the file splitter 8 continues to split the sections into new subsections. If the process of splitting is complete, in step 96 the resultant leaf nodes are sent to the leaf controller 10 of FIG. 1.
In step 98, the leaf controller 10 identifies each leaf node. The leaf controller 10 then gets the wait interval time, in step 100, from the transfer control database 82 in step 102.
After getting the wait interval time, the leaf controller 10 then sends the information to a watchdog process in step 108 that is described in FIG. 5. If the wait interval time has elapsed, decision step 104 sends the information to a file compressor 110 (shown in FIG. 5) in step 106. If the wait interval time has not elapsed, the decision step 104 checks again.
FIG. 7 is a flow chart for the packet transfer of the sections. The doted lines 130 represent the individual sections shown in FIG. 2. If the wait interval time has elapsed in step 104 of FIG. 4, the packet transfer of the sections begins. If compression is needed, the sectional parts are compressed in step 10 before the initiation of the sectional part transfer in step 112.
Once the sectional part transfer has been initiated by step 112, decision step 114 tests to see if the file transfer was successful. If yes, the process is passed to the watchdog process in step 108. If no, decision step 118 tests whether the threshold on retries has been achieved. This threshold is determined by the needs of the system performance. If the result of decision step 118 is no, the process first decides to re-send the packet in step 122 and then initiates a recursive sectional part transfer in step 112.
If the result of decision step 118 is yes, the process next determines if the split threshold has been exceeded in decision step 120. If the result of decision step 120 is no, the process splits the sectional part in step 124 and initiates the sectional part transfer in step 112. If the result of decision step 120 is yes, the process determines if the alternative route list has been exhausted in decision step 126.
If the result of decision step 126 is no, the process gets on alternative route in step 128 and sends the sectional part in step 112. If the result of decision step 126 is yes, the section part transfer is stopped in step 116 and the process is sent to the watchdog process in step 108.
FIG. 8 is a flow chart of the watchdog process and completion check. The watchdog process first checks, in decision step 132, whether the maximum transfer time has elapsed. If yes, step 134 stops the transfer of all the sectional parts. If no, process checks if any sectional parts have failed transmission in decision step 136. If yes, step 134 stops the transfer of all the sectional parts. If no, the process continues on check if there is a manual stop request in decision step 138. If yes, step 134 stops the transfer of all the sectional parts. If no, the process then checks if all the sectional parts have been transmitted in decision step 140. If no, the process loops back to decision step 132 and checks if the maximum transfer time has elapsed. If yes, the process recombines all the sectional parts on the destination machine (receiving computer 14 in FIG. 1) in step 142.
The process then checks to see if the sectional parts have completed recombination in decision step 156. If yes, the process transfers the log information about all the sectional part transfers to the receiving computer 14 in step 154. If no, the process checks if the maximum transfer time has elapsed in decision step 158. If no, the process again checks to see if the sectional parts have completed recombination in decision step 156. If yes, the process stops the transfer of all the sectional parts in step 134.
Once the process stops the transfer of all the sectional parts in step 134, the process: logs the reason for the failure in step 144; removes all the sectional parts on the source machine (the transmitting computer 2 in FIG. 1); removes all the sectional parts on the destination machine (receiving computer 14 in FIG. 1); updates the transfer control database 82 in step 150; and stops the process in step 152.
Additionally, after the log information about all the sectional parts is transferred to the receiving computer 14 in step 154, the process: removes all the sectional parts on the source machine (the transmitting computer 2 in FIG. 1); removes all the sectional parts on the destination machine (receiving computer 14 in FIG. 1); updates the transfer control database 82 in step 150; and stops the process in step 152.
While the specification in this invention is described in relation to certain implementations or embodiments, many details are set forth for the purpose of illustration. Thus, the foregoing merely illustrates the principles of the invention. For example, this invention may have other specific forms without departing from its spirit or essential characteristics. The described arrangements are illustrative and not restrictive. To those skilled in the art, the invention is susceptible to additional implementations or embodiments and certain of the details described in this application can be varied considerably without departing from the basic principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements which, although not explicitly described or shown herein, embody the principles of the invention and are thus within its spirit and scope. The scope of the invention is indicated by the attached claims.

Claims (44)

What is claimed is:
1. A system for transmitting a computer file from a transmitting computer to a receiving computer, the system comprising:
a file splitter at the transmitting computer that separates the computer file into component sections; and
a file transmitter at the transmitting computer that independently sends the component sections to the receiving computer;
wherein the file splitter further comprises a recursive file splitter, wherein the recursive file splitter, upon detecting one or more transmission failures during transmission of a larger component section, recursively splits the larger component section into smaller component subsections for retransmission.
2. The system as recited in claim 1 wherein a leaf controller manages leaf subsections asynchronously.
3. The system as recited in claim 2 wherein the leaf controller uses multi-threaded state based entities.
4. The system as recited in claim 1 wherein the file splitter includes a recursive splitter that splits the computer file into section, subsection, and leaf nodal subsections recursively.
5. The system as recited in claim 1 wherein the recursive splitter includes:
an initial file size selector that selects an initial size for a component section; and
a threshold selector that starts the recursive splitter to create a plurality of subsections if the file transmitter fails to transmit a component section that comprises the initial size and that stops the recursive splitter when a subsection of the plurality of subsections comprises a size that is less than or equal to a threshold size.
6. The system as recited in claim 1 further comprising means for determining a value of a preselected environmental variable, and wherein the threshold selector includes a variable s elector that changes the in, size of the component section in accordance with the value of the preselected environmental variable.
7. The system as recited in claim 6 wherein the transmission controller includes a router that independently controls transmission of each of the component sections to the receiving computer.
8. The system as recited in claim 6 wherein the transmission controller includes a file compressor that independently controls compression of each of the component sections prior to transmission thereof to the receiving computer.
9. The system as recited in claim 6 wherein the transmission controller includes a retransmitter that independently controls retransmission of each of the component sections upon transmission failure.
10. The system as recited in claim 6 wherein the transmission controller includes means for transmitting the component sections asynchronously.
11. The system as recited in claim 6 wherein the transmission controller includes means for transmitting the component sections concurrently.
12. The system as recited in claim 1 wherein the file transmitter includes a transmission controller that independently controls transmission of each of the component sections to the receiving computer.
13. A system for transmitting a computer file from a transmitting computer to a receiving computer, the system comprising:
means at the transmitting computer for separating the computer file into component sections;
means at the transmitting computer for independently sending the component sections to the receiving computers;
wherein the means for separating further comprises a means for recursively splitting, wherein the means for recursively splitting, upon detecting one or more transmission failures during transmission of a larger component section, recursively splits the larger component section into smaller component subsections for retransmission.
14. The system of claim 13 in which the means for recursively splitting includes:
means for establishing an initial size for a component section of the component sections, and
means for recursively splitting the component section into smaller component sections, until a smaller component section of the smaller component sections comprises a size that is equal to or less than a threshold size, upon a failure to transmit the component section that comprises the initial size.
15. The system of claim 14 further comprising means for determining a value of a preselected environmental variable, and wherein the means for establishing includes means for selectively changing a preselected size of the component sections in accordance with the value of the preselected environmental variable.
16. The system of claim 13 in which the independently sending means includes a transmission controller at the transmitting computer for independently controlling transmission of each of the component sections to the receiving computer.
17. The system of claim 16 in which the transmission controller includes means for independently controlling routing of transmission of each of the component sections.
18. The system of claim 16 in which the transmission controller includes means for independently controlling compression of each of the component sections prior to transmission thereof to the receiving computer.
19. The system of claim 16 in which the transmission controller includes means for independently controlling retransmission of each of the component sections upon transmission failure.
20. The system of claim 16 in which the transmission controller includes means for transmitting the component sections asynchronously.
21. The system of claim 16 in which the transmission controller includes means for transmitting the component sections concurrently.
22. The system of claim 13 in which the sending means includes
means for determining whether a component section has been successfully transmitted, and
means responsive to the determining means for transmitting each of the component sections until the first to occur of
the component section being successfully received by the receiving computer, and
a preselected maximum number of unsuccessful retransmissions being attempted.
23. The system of claim 22 in which the sending means includes means responsive to a selected maximum number of unsuccessful attempts of retransmission via one route for retransmitting the component section via at least one alternative route.
24. The system of claim 13 in which the sending means includes means for determining whether a component section transmitted via one route has been successfully received by the receiving computer, and
means responsive to the determining means for retransmitting the component section via an alternative route if transmission via the one route has been unsuccessful.
25. The system of claim 13 in which the sending means includes means for terminating transmission of all the component sections in response to at least one of:
unsuccessful transmission of any one of the component sections,
exceeding of a preselected maximum transmission time for successful transmission of every one of the component sections, and
receipt of a transmission termination request.
26. The system of claim 13 further comprising means for logging results of a plurality of unsuccessful transmission attempts.
27. The system of claim 26 in which the results logging means logs data concerning transmission of at least:
size of the file,
size of each of the component sections,
a count of the component sections,
interval times,
number of attempted retransmissions,
time of retransmission for the component sections,
routing path for each of the component sections, and
reason for any failure in transmission of the component sections.
28. The system of claim 13 further comprising means for performing a number of clean-up functions after conclusion of an attempted sending of all the component sections.
29. The system of claim 13 further comprising
means at the receiving computer for receiving the component sections from the transmitting computer; and
means at the receiving computer for combining the component sections received at the receiving computer into a composite received file that comprises a substantial duplicate of the computer file transmitted from the transmitting computer.
30. A method for transmitting a computer file from a transmitting computer to a receiving computer comprising the steps of:
at the transmitting computer, separating the computer file into component sections; and
at the transmitting computer, independently sending the component sections to the receiving computers;
upon detecting one or more transmission failures during transmission of a larger component section, recursivly splitting the larger component section into smaller component subsections for retransmission.
31. The method of claim 30 in which the step of independently sending includes the step of, at the transmitting computer, independently controlling transmission of each of the component sections to the receiving computer.
32. The method of claim 31 in which the step of controlling transmission includes the step of independently controlling retransmission of each of the component sections upon a failure in transmission thereof.
33. The method of claim 31 in which the step of controlling transmission includes the step of transmitting the component sections asynchronously.
34. The method of claim 31 in which the step of controlling transmission includes the step of transmitting the component sections concurrently.
35. The method of claim 31 in which the step of controlling transmission includes the step of independently controlling routing of transmission of each of the component sections.
36. The method of claim 35 in which the step of controlling transmission includes the step of independently controlling compression of each of the component sections prior to transmission thereof to the receiving computer.
37. The method of claim 30 in which the step of sending includes the steps of:
determining whether a component sections has been successfully transmitted, and responding to a determination of an unsuccessful transmission result by retransmitting each of
the component sections until the first to occur of the component section being successfully received
by the receiving computer, and a preselected maximum number of unsuccessful retransmissions being attempted.
38. The method of claim 37 in which the step of sending includes the step of responding to a selected maximum number of unsuccessful attempts of retransmission via one route by retransmitting the component section via at least one alternative route.
39. The method of claim 30 in which the step of sending includes the steps of
determining whether a component section transmitted via one route has been successfully received by the receiving computer, and
responding to a determination that transmission via the one route has been unsuccessful by retransmitting the component section via an alternative route.
40. The method of claim 30 including the step of terminating transmission of all the component sections in response to at least one of:
unsuccessful transmission of any one of the component sections,
exceeding of a preselected maximum transmission time for successful transmission of every one of the component sections, and receipt of a transmission termination request.
41. The method of claim 30 including the step of logging results of at least one unsuccessful transmission of the component sections.
42. The method of claim 41 in which the results include data concerning transmission of at least:
size of the file,
size of each of the component sections,
a count of the component sections,
interval times,
number of attempted retransmissions,
time of retransmission for the component sections,
routing path for each of the component sections, and
reason for any failure in transmission of the component sections.
43. The method of claim 30 including the step of performing a clean-up function after conclusion of an attempted sending of all the component sections.
44. The method of claim 30 including the steps of
at the receiving computer receiving the component sections from the transmitting computer, and
at the receiving computer combining the component sections received at the receiving computer into a composite received file that comprises a substantial duplicate of the computer file transmitted from the transmitting computer.
US09/124,164 1998-07-28 1998-07-28 Computer file transmission system and method Expired - Lifetime US6192412B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/124,164 US6192412B1 (en) 1998-07-28 1998-07-28 Computer file transmission system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/124,164 US6192412B1 (en) 1998-07-28 1998-07-28 Computer file transmission system and method

Publications (1)

Publication Number Publication Date
US6192412B1 true US6192412B1 (en) 2001-02-20

Family

ID=22413180

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/124,164 Expired - Lifetime US6192412B1 (en) 1998-07-28 1998-07-28 Computer file transmission system and method

Country Status (1)

Country Link
US (1) US6192412B1 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020018452A1 (en) * 2000-08-01 2002-02-14 Cha Hyun Jong Radio multi-channel data communicating system and method thereof, and image data transmitting system using the same
US20020087654A1 (en) * 1999-11-24 2002-07-04 Idan Feigenbaum Multi-server file download
US20020112025A1 (en) * 2000-06-08 2002-08-15 Mats Johansson Dynamic download of 3D information
US20020133624A1 (en) * 2001-01-16 2002-09-19 Tony Hashem System and process for routing information in a data processing system
US6460087B1 (en) * 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
US20020156912A1 (en) * 2001-02-15 2002-10-24 Hurst John T. Programming content distribution
US20030191811A1 (en) * 2002-04-05 2003-10-09 Tony Hashem Method and system for transferring files using file transfer protocol
US20030217116A1 (en) * 2002-05-15 2003-11-20 Currans Kevin G. Method for internet downloading
US20040133699A1 (en) * 2002-12-04 2004-07-08 Tony Hashem System and method for performing data transfer
US6792544B2 (en) 2001-04-03 2004-09-14 Ge Financial Assurance Holdings, Inc. Method and system for secure transmission of information
US20060047757A1 (en) * 2004-06-18 2006-03-02 Geller Alan S Flexible context management for enumeration sessions using context exchange
US20060047824A1 (en) * 2004-06-30 2006-03-02 Ken Bowler System and method for transferring data in high latency firewalled networks
US7013346B1 (en) * 2000-10-06 2006-03-14 Apple Computer, Inc. Connectionless protocol
US20070260691A1 (en) * 2006-05-02 2007-11-08 Kallqvist Claes M Wireless local area network capacity triggered upload and download
US20110250878A1 (en) * 2010-04-08 2011-10-13 Htc Corporation Communication devices and methods thereof
US8930475B1 (en) 2012-03-30 2015-01-06 Signiant Inc. Systems and methods for secure cloud-based media file sharing
US20150163280A1 (en) * 2012-08-28 2015-06-11 Tencent Technology (Shenzhen) Company Limited Method and device for downloading file
US9692799B2 (en) 2012-07-30 2017-06-27 Signiant Inc. System and method for sending and/or receiving digital content based on a delivery specification
CN108737571A (en) * 2018-06-25 2018-11-02 郑州云海信息技术有限公司 A kind of method and system for solving large-data documents forwarding and causing gateway stuck
US10735516B1 (en) 2019-02-15 2020-08-04 Signiant Inc. Cloud-based authority to enhance point-to-point data transfer with machine learning
CN112511633A (en) * 2020-12-03 2021-03-16 苏州浪潮智能科技有限公司 Method, system, equipment and medium for block transmission of massive small files

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4691314A (en) * 1985-10-30 1987-09-01 Microcom, Inc. Method and apparatus for transmitting data in adjustable-sized packets
US5191583A (en) * 1989-11-03 1993-03-02 Microcom Systems, Inc. Method and apparatus for effecting efficient transmission of data
US5579239A (en) * 1994-02-16 1996-11-26 Freeman; Mitchael C. Remote video transmission system
US5631908A (en) * 1995-03-28 1997-05-20 Digital Equipment Corporation Method and apparatus for generating and implementing smooth schedules for forwarding data flows across cell-based switches
US5721907A (en) * 1994-01-14 1998-02-24 Traveling Software, Inc. Remote file transfer method and apparatus
US5751970A (en) * 1996-08-08 1998-05-12 International Business Machines Corp. Method for determining an optimal segmentation size for file transmission in a communications system
US5946697A (en) * 1997-04-22 1999-08-31 Microsoft Corporation Rapid transfer of HTML files
US6018780A (en) * 1998-05-19 2000-01-25 Lucent Technologies Inc. Method and apparatus for downloading a file to a remote unit
US6076113A (en) * 1997-04-11 2000-06-13 Hewlett-Packard Company Method and system for evaluating user-perceived network performance
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

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4691314A (en) * 1985-10-30 1987-09-01 Microcom, Inc. Method and apparatus for transmitting data in adjustable-sized packets
US5191583A (en) * 1989-11-03 1993-03-02 Microcom Systems, Inc. Method and apparatus for effecting efficient transmission of data
US5721907A (en) * 1994-01-14 1998-02-24 Traveling Software, Inc. Remote file transfer method and apparatus
US5579239A (en) * 1994-02-16 1996-11-26 Freeman; Mitchael C. Remote video transmission system
US5684716A (en) * 1994-02-16 1997-11-04 Freeman; Mitchael C. Remote video transmission system
US5631908A (en) * 1995-03-28 1997-05-20 Digital Equipment Corporation Method and apparatus for generating and implementing smooth schedules for forwarding data flows across cell-based switches
US5751970A (en) * 1996-08-08 1998-05-12 International Business Machines Corp. Method for determining an optimal segmentation size for file transmission in a communications system
US6076113A (en) * 1997-04-11 2000-06-13 Hewlett-Packard Company Method and system for evaluating user-perceived network performance
US5946697A (en) * 1997-04-22 1999-08-31 Microsoft Corporation Rapid transfer of HTML files
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
US6018780A (en) * 1998-05-19 2000-01-25 Lucent Technologies Inc. Method and apparatus for downloading a file to a remote unit

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460087B1 (en) * 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
US20020087654A1 (en) * 1999-11-24 2002-07-04 Idan Feigenbaum Multi-server file download
US20020112025A1 (en) * 2000-06-08 2002-08-15 Mats Johansson Dynamic download of 3D information
US20020018452A1 (en) * 2000-08-01 2002-02-14 Cha Hyun Jong Radio multi-channel data communicating system and method thereof, and image data transmitting system using the same
US7013346B1 (en) * 2000-10-06 2006-03-14 Apple Computer, Inc. Connectionless protocol
US7600037B2 (en) 2000-10-06 2009-10-06 Apple Inc. Real time transmission of information content from a sender to a receiver over a network by sizing of a congestion window in a connectionless protocol
US20060155870A1 (en) * 2000-10-06 2006-07-13 Apple Computer Inc. Connectionless protocol
US20020133624A1 (en) * 2001-01-16 2002-09-19 Tony Hashem System and process for routing information in a data processing system
US20020156912A1 (en) * 2001-02-15 2002-10-24 Hurst John T. Programming content distribution
US6792544B2 (en) 2001-04-03 2004-09-14 Ge Financial Assurance Holdings, Inc. Method and system for secure transmission of information
US20030191811A1 (en) * 2002-04-05 2003-10-09 Tony Hashem Method and system for transferring files using file transfer protocol
US7155578B2 (en) * 2002-04-05 2006-12-26 Genworth Financial, Inc. Method and system for transferring files using file transfer protocol
EP1389766A3 (en) * 2002-05-15 2004-03-03 Hewlett-Packard Company Method for Internet downloading files encapsulated in graphic files
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
US20030217116A1 (en) * 2002-05-15 2003-11-20 Currans Kevin G. Method for internet downloading
US20040133699A1 (en) * 2002-12-04 2004-07-08 Tony Hashem System and method for performing data transfer
US7603426B2 (en) * 2004-06-18 2009-10-13 Microsoft Corporation Flexible context management for enumeration sessions using context exchange
US20060047757A1 (en) * 2004-06-18 2006-03-02 Geller Alan S Flexible context management for enumeration sessions using context exchange
US7526557B2 (en) * 2004-06-30 2009-04-28 Signiant, Inc. System and method for transferring data in high latency firewalled networks
US20090182846A1 (en) * 2004-06-30 2009-07-16 Signiant, Inc. System and method for transferring data in high latency firewalled networks
US20060047824A1 (en) * 2004-06-30 2006-03-02 Ken Bowler System and method for transferring data in high latency firewalled networks
US8667145B2 (en) 2004-06-30 2014-03-04 Signiant, Inc. System and method for transferring data in high latency firewalled networks
US20070260691A1 (en) * 2006-05-02 2007-11-08 Kallqvist Claes M Wireless local area network capacity triggered upload and download
US20110250878A1 (en) * 2010-04-08 2011-10-13 Htc Corporation Communication devices and methods thereof
US8745270B2 (en) * 2010-04-08 2014-06-03 Htc Corporation Communication device and method of handling large object in device management
US9596216B1 (en) 2012-03-30 2017-03-14 Signiant Inc. Systems and methods for secure cloud-based media file sharing
US8930475B1 (en) 2012-03-30 2015-01-06 Signiant Inc. Systems and methods for secure cloud-based media file sharing
US9830330B2 (en) 2012-03-30 2017-11-28 Signiant Inc. Systems and methods for secure cloud-based media file sharing
US9692799B2 (en) 2012-07-30 2017-06-27 Signiant Inc. System and method for sending and/or receiving digital content based on a delivery specification
US20150163280A1 (en) * 2012-08-28 2015-06-11 Tencent Technology (Shenzhen) Company Limited Method and device for downloading file
US10484468B2 (en) * 2012-08-28 2019-11-19 Tencent Technology (Shenzhen) Company Limited Method and device for downloading file
CN108737571A (en) * 2018-06-25 2018-11-02 郑州云海信息技术有限公司 A kind of method and system for solving large-data documents forwarding and causing gateway stuck
CN108737571B (en) * 2018-06-25 2021-07-06 郑州云海信息技术有限公司 Method and system for solving problem of dead network gate card caused by forwarding of large-data-volume file
US10735516B1 (en) 2019-02-15 2020-08-04 Signiant Inc. Cloud-based authority to enhance point-to-point data transfer with machine learning
US11811871B2 (en) 2019-02-15 2023-11-07 Signiant Inc. Cloud-based authority to enhance point-to-point data transfer with machine learning
CN112511633A (en) * 2020-12-03 2021-03-16 苏州浪潮智能科技有限公司 Method, system, equipment and medium for block transmission of massive small files
CN112511633B (en) * 2020-12-03 2022-11-29 苏州浪潮智能科技有限公司 Method, system, equipment and medium for block transmission of massive small files

Similar Documents

Publication Publication Date Title
US6192412B1 (en) Computer file transmission system and method
US7382726B2 (en) Node system, dual ring communication system using node system, and communication method thereof
US5128926A (en) Updating link state information in networks
US5732206A (en) Method, apparatus and program product for disruptive recovery in a data processing system
US7167450B2 (en) Network management method and communications network system
US5896379A (en) Network node for packet switching with selective data processing and method therefor
US5018137A (en) Transparent load sharing for parallel networks
US8885604B2 (en) Method for transmitting packet switched data in a cellular radio communicaton system during cell change
Rosberg et al. Resequencing delay and buffer occupancy under the selective-repeat ARQ
US6615314B1 (en) Disk array and method for reading/writing data from/into disk unit
JPH0244944A (en) Network management
JPH11504494A (en) System and method for dynamic network topology exploration
WO2001099355A1 (en) Method and system for packet retransmission
JPH09505713A (en) System for parallel assembly of data transmission in broadband networks
US6574744B1 (en) Method of determining a uniform global view of the system status of a distributed computer network
US5740170A (en) Method and apparatus for providing communication between grouped receivers and management thereof
US6535991B1 (en) Method and apparatus for providing reliable communications in an intelligent network
US20070041313A1 (en) Apparatus and methods for managing nodes on a fault tolerant network
JP2001244982A (en) Packet omission detection system, transmitter, receiver and packet omission detection method
WO2004066562A1 (en) Data transmission apparatus
Aggarwal et al. DUALCAST: a scheme for reliable multicasting
US7249276B2 (en) Signal route selector and method of signal routing
US7051259B1 (en) Methods and apparatus for communicating time and latency sensitive information
Fantacci Mean packet delay analysis for the selective repeat automatic repeat request protocol with correlated arrivals and deterministic and nondeterministic acknowledgement delays
JP2716307B2 (en) Local area network system

Legal Events

Date Code Title Description
AS Assignment

Owner name: LUCENT TECHNOLOGIES INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CANTORAL, EDUARDO;LENNERT, JOSEPH F.;PLOVICH, STEVE A.;REEL/FRAME:009354/0551

Effective date: 19980727

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:WSOU INVESTMENTS, LLC;REEL/FRAME:043966/0574

Effective date: 20170822

Owner name: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP, NEW YO

Free format text: SECURITY INTEREST;ASSIGNOR:WSOU INVESTMENTS, LLC;REEL/FRAME:043966/0574

Effective date: 20170822

AS Assignment

Owner name: WSOU INVESTMENTS, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ALCATEL LUCENT;REEL/FRAME:044000/0053

Effective date: 20170722

AS Assignment

Owner name: WSOU INVESTMENTS, LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP;REEL/FRAME:049246/0405

Effective date: 20190516

AS Assignment

Owner name: OT WSOU TERRIER HOLDINGS, LLC, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:WSOU INVESTMENTS, LLC;REEL/FRAME:056990/0081

Effective date: 20210528