US20020087654A1 - Multi-server file download - Google Patents

Multi-server file download Download PDF

Info

Publication number
US20020087654A1
US20020087654A1 US10/032,707 US3270702A US2002087654A1 US 20020087654 A1 US20020087654 A1 US 20020087654A1 US 3270702 A US3270702 A US 3270702A US 2002087654 A1 US2002087654 A1 US 2002087654A1
Authority
US
United States
Prior art keywords
computers
file
portions
retrieving
determining
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
US10/032,707
Inventor
Idan Feigenbaum
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.)
Speedbit Ltd
Original Assignee
Speedbit Ltd
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 Speedbit Ltd filed Critical Speedbit Ltd
Priority to US10/032,707 priority Critical patent/US20020087654A1/en
Assigned to SPEEDBIT LTD. reassignment SPEEDBIT LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FEIGENBAUM, IDAN
Assigned to SPEEDBIT LTD. reassignment SPEEDBIT LTD. CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS FILE ON 3-14-02. RECORDED ON REEL 012678 FRAME 0629. ASSIGNOR HEREBY CONFIRMS THE ENTIRE INTEREST. Assignors: FEIGENBAUM, IDAN
Publication of US20020087654A1 publication Critical patent/US20020087654A1/en
Abandoned legal-status Critical Current

Links

Images

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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates to computer networks in general, and more particularly to methods and apparatus for downloading a file from a server.
  • Transfer protocols for downloading files from serving computers (servers) to client computers (clients) via computer networks such as the Internet are well known in the art.
  • Two commonly used transfer protocols include the File Transfer Protocol (FTP) and the Hypertext Transfer Protocol (HTTP).
  • FTP File Transfer Protocol
  • HTTP Hypertext Transfer Protocol
  • a client in order to download a file a client establishes a single data transfer link with a server during a file transfer session through which the contents of the file is transmitted from the server to the client.
  • Recent developments in file transfer software which implement the various transfer protocols include the ability to begin downloading a file from a point other than the start of the file simply by instructing the server to begin transmitting the file from a specified byte offset. This has led to the development of file transfer software that is able to resume a download where the data transfer link has been broken in the middle of a download. The download is simply continued from the point at which the download stopped in another file transfer session via another data transfer link with the server.
  • the present invention seeks to provide improved methods and apparatus for downloading a file from a server.
  • a method for downloading a file to a client including the steps of a) determining the presence of the file on each of a plurality of secondary servers, b) retrieving a plurality of portions of the file from any of the servers, where at least a first of the portions is retrieved from a first of any of the servers and at least a second of the portions is retrieved from a second of any of the servers, and c) assembling the file at the client from the plurality of portions.
  • the method further includes the step of d) determining the presence of the file on a primary server and thereafter performing the determining step a), and where the determining step a) includes determining whether the file on each of the plurality of secondary servers is a duplicate of the file on the primary server.
  • the method further includes the steps of e) determining the performance of a plurality of the servers, f) ranking the plurality of servers from best performing to worst performing, and where the retrieving step b) includes retrieving from a selected plurality of the plurality of servers selected in order of their ranking from best performing to worst performing.
  • the determining the performance step includes determining the response time of the server.
  • the determining the performance step includes determining the throughput of the server.
  • the retrieving step b) includes discontinuing retrieving any of the portions from any of the servers that provides its portion at a performance level that falls below a predefined performance level, and continuing retrieval of the retrieval-discontinued portion from any other of the servers.
  • the retrieving step b) includes retrieving using File Transfer Protocol (FTP).
  • FTP File Transfer Protocol
  • the retrieving step b) includes retrieving using Hypertext Transfer Protocol (HTTP).
  • HTTP Hypertext Transfer Protocol
  • FIG. 1 is a simplified illustration of a multi-link, multi-server file transfer system, constructed and operative in accordance with a preferred embodiment of the present invention
  • FIG. 2 is a simplified flowchart illustration of a method of operation of the system of FIG. 1, operative in accordance with a preferred embodiment of the present invention
  • FIG. 3 is a simplified flowchart illustration of a method of implementation of step 130 of FIG. 2, operative in accordance with a preferred embodiment of the present invention.
  • FIG. 4 is a simplified flowchart illustration of a method of implementation of step 140 of FIG. 2, operative in accordance with a preferred embodiment of the present invention.
  • FIG. 1 is a simplified illustration of a multi-link, multi-server file transfer system, constructed and operative in accordance with a preferred embodiment of the present invention.
  • a client computer 10 is shown having established a data transfer link with each of three server computers 12 , 14 , and 16 via a network 18 , such as the Internet.
  • a network 18 such as the Internet.
  • file XYZ.DOC is shown being downloaded from servers 12 , 14 , and 16 in three separate portions using the File Transfer Protocol (FTP), the Hypertext Transfer Protocol (HTTP), or any other protocol known in the art that supports the downloading of a portion of a file starting at a location determined by the requester, often starting at a location other than the beginning of the file, such as by specifying a byte offset.
  • FTP File Transfer Protocol
  • HTTP Hypertext Transfer Protocol
  • the portion being downloaded from server 12 begins at byte offset 0
  • the portion from server 14 begins at byte offset 1000
  • the portion from server 16 begins at byte offset 2000 .
  • the three portions are then transferred to client 10 where they are then assembled into a single file XYZ.DOC comprising the three portions transferred from servers 12 , 14 , and 16 and spanning bytes 0-3000, as is shown by an arrow 20 .
  • FIG. 2 is a simplified flowchart illustration of a method of operation of the system of FIG. 1, operative in accordance with a preferred embodiment of the present invention.
  • the method of FIG. 2 may be implemented in client 10 using executable software, hardware, or any suitable combination thereof using conventional techniques.
  • a file to be downloaded is indicated at client 10 using any known data entry or selection technique, such as by clicking on a Hypertext Markup Language (HTML) link in a web page within a browser running on client 10 (step 100 ).
  • HTML Hypertext Markup Language
  • the indication of the file preferably includes the location of a primary server on which the file may be found.
  • the file on the primary server is then identified by the client (step 110 ), typically to provide one or more file characteristics such as file name and size,
  • the presence of the file on one or more secondary servers is determined such that the file on a secondary server is a duplicate of the file on the primary server in that it has the same file characteristics as the file on the primary server (step 120 ).
  • the client may maintain a list of the addresses of such secondary servers and/or may query search engines using known metasearching techniques.
  • the client establishes one or more data transfer links with each of two or more servers (step 130 ) and instructs the servers to begin downloading portions of the file, such that each data transfer link conveys a different portion of the file and each server begins the download of each portion at a different location within the file as specified by the client (step 140 ).
  • the number of servers and data transfer links chosen to download portions of the file may be determined using known statistical methods and measures of throughput, although a default number of servers and data transfer links may be specified to start with.
  • the portions received at the client are then assembled to form the requested file (step 150 ).
  • FIG. 3 is a simplified flowchart illustration of a method of implementation of step 130 of FIG. 2, operative in accordance with a preferred embodiment of the present invention.
  • the client determines the performance of various primary and secondary servers using known techniques such as PINGing (step 1310 ) or other known performance measuring methods.
  • the performance of a server may be expressed using any known performance measurements such as, but not limited to, response time and/or throughput.
  • the servers are then ranked according to their speed from best performance to worst performance (step 1320 ).
  • the servers from which the client downloads portions of the file are then preferably selected in order of their rank (step 1330 ).
  • FIG. 4 is a simplified flowchart illustration of a method of implementation of step 140 of FIG. 2, operative in accordance with a preferred embodiment of the present invention.
  • the client instructs the servers to begin downloading portions of the file, such that each data transfer link conveys a different portion of the file and each server begins the download of each portion at a different location within the file specified by the client (step 1410 ).
  • the performance of each server and/or each data transfer link as determined using conventional performance measurement techniques, such as bit rate, is preferably monitored periodically or continuously (step 1420 ). Should the performance of a server and/or data transfer link fall below a predefined performance level, the download via that server/data transfer link is preferably discontinued (step 1430 ).
  • a data transfer link to a new server and/or new data transfer link to a current server is then established, and the remainder of the portion whose download was discontinued is downloaded through the link preferably starting from the location within the file at which the download was discontinued (step 1440 ). It is also appreciated that a data transfer link to a server may be discontinued in compliance with a user-directive not necessarily related to server performance.

Abstract

A method for downloading a file to a client, the method including determining the presence of the file on each of a plurality of secondary servers, retrieving a plurality of portions of the file from any of the servers, where at least a first of the portions is retrieved from a first of any of the servers and at least a second of the portions is retrieved from a second of any of the servers, and assembling the file at the client from the plurality of portions.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation application of U.S. patent application Ser. No. 09/448,179, filed on Nov. 24, 1999, which is hereby incorporated by reference.[0001]
  • FIELD OF THE INVENTION
  • The present invention relates to computer networks in general, and more particularly to methods and apparatus for downloading a file from a server. [0002]
  • BACKGROUND OF THE INVENTION
  • Transfer protocols for downloading files from serving computers (servers) to client computers (clients) via computer networks such as the Internet are well known in the art. Two commonly used transfer protocols include the File Transfer Protocol (FTP) and the Hypertext Transfer Protocol (HTTP). Generally speaking, in order to download a file a client establishes a single data transfer link with a server during a file transfer session through which the contents of the file is transmitted from the server to the client. [0003]
  • Recent developments in file transfer software which implement the various transfer protocols include the ability to begin downloading a file from a point other than the start of the file simply by instructing the server to begin transmitting the file from a specified byte offset. This has led to the development of file transfer software that is able to resume a download where the data transfer link has been broken in the middle of a download. The download is simply continued from the point at which the download stopped in another file transfer session via another data transfer link with the server. [0004]
  • This ability to download a file in sections has more recently led to the development of file transfer software which establishes multiple data transfer links with a server where different portions of a single file are downloaded via different data transfer links and reassembled at the client. This generally results in a file being downloaded to a client faster due to the greater cumulative throughput of multiple data transfer links with a single server as compared with that of a single data transfer link with the server. [0005]
  • SUMMARY OF THE INVENTION
  • The present invention seeks to provide improved methods and apparatus for downloading a file from a server. [0006]
  • There is thus provided in accordance with a preferred embodiment of the present invention a method for downloading a file to a client, the method including the steps of a) determining the presence of the file on each of a plurality of secondary servers, b) retrieving a plurality of portions of the file from any of the servers, where at least a first of the portions is retrieved from a first of any of the servers and at least a second of the portions is retrieved from a second of any of the servers, and c) assembling the file at the client from the plurality of portions. [0007]
  • Further in accordance with a preferred embodiment of the present invention the method further includes the step of d) determining the presence of the file on a primary server and thereafter performing the determining step a), and where the determining step a) includes determining whether the file on each of the plurality of secondary servers is a duplicate of the file on the primary server. [0008]
  • Still further in accordance with a preferred embodiment of the present invention the method further includes the steps of e) determining the performance of a plurality of the servers, f) ranking the plurality of servers from best performing to worst performing, and where the retrieving step b) includes retrieving from a selected plurality of the plurality of servers selected in order of their ranking from best performing to worst performing. [0009]
  • Additionally in accordance with a preferred embodiment of the present invention the determining the performance step includes determining the response time of the server. [0010]
  • Moreover in accordance with a preferred embodiment of the present invention the determining the performance step includes determining the throughput of the server. [0011]
  • Further in accordance with a preferred embodiment of the present invention the retrieving step b) includes discontinuing retrieving any of the portions from any of the servers that provides its portion at a performance level that falls below a predefined performance level, and continuing retrieval of the retrieval-discontinued portion from any other of the servers. [0012]
  • Still further in accordance with a preferred embodiment of the present invention the retrieving step b) includes retrieving using File Transfer Protocol (FTP). [0013]
  • Additionally in accordance with a preferred embodiment of the present invention the retrieving step b) includes retrieving using Hypertext Transfer Protocol (HTTP). [0014]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings in which: [0015]
  • FIG. 1 is a simplified illustration of a multi-link, multi-server file transfer system, constructed and operative in accordance with a preferred embodiment of the present invention; [0016]
  • FIG. 2 is a simplified flowchart illustration of a method of operation of the system of FIG. 1, operative in accordance with a preferred embodiment of the present invention; [0017]
  • FIG. 3 is a simplified flowchart illustration of a method of implementation of [0018] step 130 of FIG. 2, operative in accordance with a preferred embodiment of the present invention; and
  • FIG. 4 is a simplified flowchart illustration of a method of implementation of [0019] step 140 of FIG. 2, operative in accordance with a preferred embodiment of the present invention.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • Reference is now made to FIG. 1 which is a simplified illustration of a multi-link, multi-server file transfer system, constructed and operative in accordance with a preferred embodiment of the present invention. In the system of FIG. 1 a [0020] client computer 10 is shown having established a data transfer link with each of three server computers 12, 14, and 16 via a network 18, such as the Internet. Although one link is shown between client 10 and each of three servers in FIG. 1, it is appreciated that more than one link may be established between client 10 and each of any number of servers. In the illustration file XYZ.DOC is shown being downloaded from servers 12, 14, and 16 in three separate portions using the File Transfer Protocol (FTP), the Hypertext Transfer Protocol (HTTP), or any other protocol known in the art that supports the downloading of a portion of a file starting at a location determined by the requester, often starting at a location other than the beginning of the file, such as by specifying a byte offset. The portion being downloaded from server 12 begins at byte offset 0, the portion from server 14 begins at byte offset 1000, and the portion from server 16 begins at byte offset 2000. The three portions are then transferred to client 10 where they are then assembled into a single file XYZ.DOC comprising the three portions transferred from servers 12, 14, and 16 and spanning bytes 0-3000, as is shown by an arrow 20.
  • Reference is now made to FIG. 2 which is a simplified flowchart illustration of a method of operation of the system of FIG. 1, operative in accordance with a preferred embodiment of the present invention. The method of FIG. 2 may be implemented in [0021] client 10 using executable software, hardware, or any suitable combination thereof using conventional techniques. In the method of FIG. 2 a file to be downloaded is indicated at client 10 using any known data entry or selection technique, such as by clicking on a Hypertext Markup Language (HTML) link in a web page within a browser running on client 10 (step 100). In the embodiment of FIG. 2 the indication of the file preferably includes the location of a primary server on which the file may be found. This may be effected through the use of a Universal Resource Locator (URL) or any other location indicator known in the art. The file on the primary server is then identified by the client (step 110), typically to provide one or more file characteristics such as file name and size, Next, the presence of the file on one or more secondary servers is determined such that the file on a secondary server is a duplicate of the file on the primary server in that it has the same file characteristics as the file on the primary server (step 120). The client may maintain a list of the addresses of such secondary servers and/or may query search engines using known metasearching techniques. Once the primary and secondary servers are determined the client establishes one or more data transfer links with each of two or more servers (step 130) and instructs the servers to begin downloading portions of the file, such that each data transfer link conveys a different portion of the file and each server begins the download of each portion at a different location within the file as specified by the client (step 140). The number of servers and data transfer links chosen to download portions of the file may be determined using known statistical methods and measures of throughput, although a default number of servers and data transfer links may be specified to start with. The portions received at the client are then assembled to form the requested file (step 150).
  • Reference is now made to FIG. 3 which is a simplified flowchart illustration of a method of implementation of [0022] step 130 of FIG. 2, operative in accordance with a preferred embodiment of the present invention. In the method of FIG. 3 the client determines the performance of various primary and secondary servers using known techniques such as PINGing (step 1310) or other known performance measuring methods. The performance of a server may be expressed using any known performance measurements such as, but not limited to, response time and/or throughput. The servers are then ranked according to their speed from best performance to worst performance (step 1320). The servers from which the client downloads portions of the file are then preferably selected in order of their rank (step 1330).
  • Reference is now made to FIG. 4 which is a simplified flowchart illustration of a method of implementation of [0023] step 140 of FIG. 2, operative in accordance with a preferred embodiment of the present invention. In the method of FIG. 4 the client instructs the servers to begin downloading portions of the file, such that each data transfer link conveys a different portion of the file and each server begins the download of each portion at a different location within the file specified by the client (step 1410). The performance of each server and/or each data transfer link as determined using conventional performance measurement techniques, such as bit rate, is preferably monitored periodically or continuously (step 1420). Should the performance of a server and/or data transfer link fall below a predefined performance level, the download via that server/data transfer link is preferably discontinued (step 1430). A data transfer link to a new server and/or new data transfer link to a current server is then established, and the remainder of the portion whose download was discontinued is downloaded through the link preferably starting from the location within the file at which the download was discontinued (step 1440). It is also appreciated that a data transfer link to a server may be discontinued in compliance with a user-directive not necessarily related to server performance.
  • While the methods and apparatus disclosed herein may or may not have been described with reference to specific hardware or software, the methods and apparatus have been described in a manner sufficient to enable persons of ordinary skill in the art to readily adapt commercially available hardware and software as may be needed to reduce any of the embodiments of the present invention to practice without undue experimentation and using conventional techniques. [0024]
  • While the present invention has been described with reference to a few specific embodiments, the description is intended to be illustrative of the invention as a whole and is not to be construed as limiting the invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein, are nevertheless within the true spirit and scope of the invention. [0025]

Claims (25)

What is claimed is:
1. A system for downloading a file from a computer, the system comprising:
means for retrieving a plurality of portions of a file from a plurality of computers, wherein at least a first of said portions is retrieved from a first one of said computers and at least a second of said portions is retrieved from a second one of said computers; and
means for assembling said file from said plurality of portions.
2. A system according to claim 1 and further comprising:
means for determining the presence of said file on each of said computers.
3. A system according to claim 2 wherein said means for determining is operative to:
determine the presence of said file on a primary computer; and
determine whether said file on each of said plurality of computers is a duplicate of said file on said primary computer.
4. A system according to claim 2 wherein said means for determining is operative to determine that said files on each of said computers have at least one file characteristic in common.
5. A system according to claim 1 and further comprising:
means for receiving a list of the addresses of said computers from a query-capable computer.
6. A system according to claim 1 and further comprising:
means for determining the performance of said computers;
means for ranking said computers from best performing to worst performing,
and wherein said means for retrieving is operative to retrieve from a selected plurality of said computers selected in order of their ranking from best performing to worst performing.
7. A system according to claim 6 wherein said means for determining is operative to determine the response time of said computers.
8. A system according to claim 6 wherein said means for determining is operative to determine the throughput of said computers.
9. A system according to claim 1 wherein said means for retrieving is operative to:
discontinue retrieving any of said portions from any of said computers that provides its portion at a performance level that falls below a predefined performance level; and
continue retrieval of said retrieval-discontinued portion from any other of said computers.
10. A system according to claim 1 wherein said means for retrieving is operative to:
discontinue retrieving any of said portions from any of said computers that provides its portion at a performance level that falls below a predefined performance level; and
continue retrieval of said retrieval-discontinued portion from a computer other than any of said computers.
11. A system according to claim 1 wherein said means for retrieving is operative to retrieve using File Transfer Protocol (FTP).
12. A system according to claim 1 wherein said means for retrieving is operative to retrieve using Hypertext Transfer Protocol (HTTP).
13. A method for downloading a file from a computer, the method comprising:
retrieving a plurality of portions of said file from a plurality of computers, wherein at least a first of said portions is retrieved from a first of any of said computers and at least a second of said portions is retrieved from a second of any of said computers; and
assembling said file from said plurality of portions.
14. A method according to claim 13 and further comprising:
determining the presence of said file on each of said plurality of said computers.
15. A method according to claim 14 wherein determining the presence of said file comprises:
determining the presence of said file on a primary computer, and
determining whether said file on each of said plurality of computers is a duplicate of said file on said primary computer.
16. A method according to claim 14 wherein said determining the presence of said file comprises determining that said files on each of said plurality of said computers have at least one file characteristic in common.
17. A method according to claim 13 and further comprising receiving a list of the addresses of said computers from a query-capable computer.
18. A method according to claim 13 and further comprising:
determining the performance of said computers,
ranking said computers from best performing to worst performing,
and wherein retrieving said plurality of portions comprises retrieving from a selected plurality of said computers selected in order of their ranking from best performing to worst performing.
19. A method according to claim 18 wherein determining the performance of said computers comprises determining the response time of said computers.
20. A method according to claim 18 wherein determining the performance of said computers comprises determining the throughput of said computers.
21. A method according to claim 13 wherein retrieving said plurality of portions comprises:
discontinuing retrieving any of said portions from any of said computers that provides its portion at a performance level that falls below a predefined performance level; and
continuing retrieval of said retrieval-discontinued portion from any other of said computers.
22. A method according to claim 13 wherein retrieving said plurality of portions comprises;
discontinuing retrieving any of said portions from any of said computers that provides its portion at a performance level that falls below a predefined performance level; and
continuing retrieval of said retrieval-discontinued portion from a computer other than any of said computers.
23. A method according to claim 13 wherein retrieving said plurality of portions comprises retrieving using File Transfer Protocol (FTP).
24. A method according to claim 13 wherein retrieving said plurality of portions comprises retrieving using Hypertext Transfer Protocol (HTTP).
25. A computer program embodied on a computer-readable medium for downloading a file from a computer and comprising:
a file retrieval code segment operative to retrieve a plurality of portions of said file from a plurality of computers, wherein said file retrieval code segment is operative to retrieve at least a first of said portions from a first of any of said computers and at least a second of said portions from a second of any of said computers; and
a file assembly code segment operative to assemble said file from said plurality of portions.
US10/032,707 1999-11-24 2002-01-02 Multi-server file download Abandoned US20020087654A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/032,707 US20020087654A1 (en) 1999-11-24 2002-01-02 Multi-server file download

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/448,179 US6339785B1 (en) 1999-11-24 1999-11-24 Multi-server file download
US10/032,707 US20020087654A1 (en) 1999-11-24 2002-01-02 Multi-server file download

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/448,179 Continuation US6339785B1 (en) 1999-11-24 1999-11-24 Multi-server file download

Publications (1)

Publication Number Publication Date
US20020087654A1 true US20020087654A1 (en) 2002-07-04

Family

ID=23779309

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/448,179 Expired - Lifetime US6339785B1 (en) 1999-11-24 1999-11-24 Multi-server file download
US10/032,707 Abandoned US20020087654A1 (en) 1999-11-24 2002-01-02 Multi-server file download

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/448,179 Expired - Lifetime US6339785B1 (en) 1999-11-24 1999-11-24 Multi-server file download

Country Status (5)

Country Link
US (2) US6339785B1 (en)
EP (1) EP1240595A4 (en)
AU (1) AU1547301A (en)
IL (1) IL149822A0 (en)
WO (1) WO2001039002A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182367A1 (en) * 2002-03-22 2003-09-25 Brother Kogyo Kabushiki Kaisha Client-server system
US20100306373A1 (en) * 2009-06-01 2010-12-02 Swarmcast, Inc. Data retrieval based on bandwidth cost and delay
US20130086142A1 (en) * 2011-09-30 2013-04-04 K. Georg Hampel System and Method for Mobility and Multi-Homing Content Retrieval Applications
KR101338689B1 (en) * 2011-09-21 2013-12-09 명지대학교 산학협력단 Method for server selection for parallel downloading service
US9239860B1 (en) 2010-06-30 2016-01-19 Emc Corporation Augmenting virtual directories
US9497257B1 (en) * 2010-06-30 2016-11-15 EMC IP Holding Company LLC File level referrals

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143193B1 (en) * 1998-05-29 2006-11-28 Yahoo! Inc. Content collection
US7035943B2 (en) * 1998-05-29 2006-04-25 Yahoo! Inc. Web server content replication
US7581006B1 (en) 1998-05-29 2009-08-25 Yahoo! Inc. Web service
US6976093B2 (en) * 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
DE19900636B8 (en) 1999-01-11 2005-04-07 Gailer, Peter Data access and management system and method for data access and data management for a computer system and their use
US6928468B2 (en) * 1999-10-29 2005-08-09 Koninklijke Philips Electronics N.V. System for broadcasting software applications and portable data communications device for use in such a system
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
US7107351B2 (en) * 1999-12-30 2006-09-12 International Business Machines Corporation File futures
US6665726B1 (en) * 2000-01-06 2003-12-16 Akamai Technologies, Inc. Method and system for fault tolerant media streaming over the internet
US6377974B1 (en) * 2000-01-19 2002-04-23 Speedbit Ltd. Methods and apparatus for downloading a file from a server
US6618758B1 (en) * 2000-02-18 2003-09-09 Lucent Technologies Inc. System for downloading only a portion of a file from a server through a computer network utilizing a client menu downloaded periodically from the server
US7003554B1 (en) * 2000-03-20 2006-02-21 Netscape Communications Corp. System and method for downloading portions of a remotely located network object to produce a completely downloaded local copy of the network object
US6928481B1 (en) * 2000-05-05 2005-08-09 International Business Machines Corporation Method, apparatus and program to optimize the network distribution of digital information based on hierarchical grouping of server topology and code distribution
US6549914B1 (en) * 2000-05-17 2003-04-15 Dell Products, L.P. System and method for statistical file preload for factory installed software in a computer
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
JP2002123449A (en) * 2000-08-02 2002-04-26 Sanyo Electric Co Ltd Information distributing device
US7089301B1 (en) * 2000-08-11 2006-08-08 Napster, Inc. System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
JP2004506980A (en) * 2000-08-11 2004-03-04 3ウェア、 インコーポレイテッド Architecture for providing block-level storage access over a computer network
US6772217B1 (en) * 2000-08-23 2004-08-03 International Business Machines Corporation Internet backbone bandwidth enhancement by initiating an additional data stream when individual bandwidth are approximately equal to the backbone limit
US7047309B2 (en) * 2000-08-23 2006-05-16 International Business Machines Corporation Load balancing and dynamic control of multiple data streams in a network
US7203741B2 (en) * 2000-10-12 2007-04-10 Peerapp Ltd. Method and system for accelerating receipt of data in a client-to-client network
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
JP4595190B2 (en) * 2000-10-30 2010-12-08 株式会社デンソー Download method and user terminal and distribution server for executing the download method
US20020083193A1 (en) * 2000-11-03 2002-06-27 Henry Terefenko Parallel network data transmission
US6725290B1 (en) * 2000-11-08 2004-04-20 Enfora, Inc. Persistent modem connection
US7216154B1 (en) * 2000-11-28 2007-05-08 Intel Corporation Apparatus and method for facilitating access to network resources
US7277950B1 (en) 2000-12-29 2007-10-02 Swarmcast, Inc. Packet transfer mechanism over a peer to peer network
US7383288B2 (en) 2001-01-11 2008-06-03 Attune Systems, Inc. Metadata based file switch and switched file system
US8195760B2 (en) * 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation in a switched file system
US7788335B2 (en) * 2001-01-11 2010-08-31 F5 Networks, Inc. Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US7512673B2 (en) 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US7509322B2 (en) 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US8239354B2 (en) 2005-03-03 2012-08-07 F5 Networks, Inc. System and method for managing small-size files in an aggregated file system
US7562110B2 (en) * 2001-01-11 2009-07-14 F5 Networks, Inc. File switch and switched file system
US7272645B2 (en) 2001-05-25 2007-09-18 Sbc Technology Resources, Inc. Method of improving the reliability of peer-to-peer network downloads
US20020198930A1 (en) * 2001-06-25 2002-12-26 International Business Machines Corporation Method and apparatus for wide-spread distribution of electronic content in a peer to peer fashion
US20020198929A1 (en) * 2001-06-25 2002-12-26 International Business Machines Corporation Method and apparatus to encourage client into a distributed peer to peer sharing technology
US6757735B2 (en) * 2001-07-03 2004-06-29 Hewlett-Packard Development Company, L.P. Method for distributing multiple description streams on servers in fixed and mobile streaming media systems
GB2382160A (en) * 2001-08-09 2003-05-21 Internet Extra Ltd System for encrypting multimedia files for transmission or storage as a set of data blocks in which the re-assembly order has been encrypted
CA2467813C (en) * 2001-11-30 2014-01-07 Oracle International Corporation Real composite objects for providing high availability of resources on networked systems
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7877511B1 (en) 2003-01-13 2011-01-25 F5 Networks, Inc. Method and apparatus for adaptive services networking
KR100427143B1 (en) * 2003-01-17 2004-04-14 엔에이치엔(주) Method for Transmitting and Dowloading Streaming Data
US7555559B2 (en) * 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
US20040199472A1 (en) * 2003-04-04 2004-10-07 Dobbins Kurt A. Method and apparatus for billing over a network
US8291062B2 (en) 2003-08-20 2012-10-16 Aol Inc. Managing access to digital content sources
US20050086386A1 (en) * 2003-10-17 2005-04-21 Bo Shen Shared running-buffer-based caching system
TWI241805B (en) * 2003-12-12 2005-10-11 Hon Hai Prec Ind Co Ltd System and method for resuming downloading data from interruptive-point
US7716324B2 (en) * 2004-05-12 2010-05-11 Baytsp.Com, Inc. Identification and tracking of digital content distributors on wide area networks
US7631098B2 (en) * 2004-06-08 2009-12-08 International Business Machines Corporation Method, system and program product for optimized concurrent data download within a grid computing environment
US7277985B2 (en) 2004-07-13 2007-10-02 International Business Machines Corporation Method, system and program product for storing downloadable content on a plurality of enterprise storage system (ESS) cells
JP2006126894A (en) * 2004-10-26 2006-05-18 Sony Corp Content delivery method, program and information processor
US7885970B2 (en) * 2005-01-20 2011-02-08 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US20060167838A1 (en) * 2005-01-21 2006-07-27 Z-Force Communications, Inc. File-based hybrid file storage scheme supporting multiple file switches
US7958347B1 (en) 2005-02-04 2011-06-07 F5 Networks, Inc. Methods and apparatus for implementing authentication
EP1867163B1 (en) * 2005-02-23 2017-07-12 Cisco Technology, Inc. Fast channel change with conditional return to multicasting
US8140699B2 (en) * 2005-02-23 2012-03-20 Cisco Technology, Inc. Switching a client from unicasting to multicasting by simultaneously providing unicast and multicast streams to the client
US8589508B2 (en) * 2005-04-07 2013-11-19 Opanga Networks, Inc. System and method for flow control in an adaptive file delivery system
US8719399B2 (en) * 2005-04-07 2014-05-06 Opanga Networks, Inc. Adaptive file delivery with link profiling system and method
US7921196B2 (en) * 2005-04-07 2011-04-05 Opanga Networks, Inc. Adaptive file delivery with transparency capability system and method
US11258531B2 (en) 2005-04-07 2022-02-22 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US8909807B2 (en) * 2005-04-07 2014-12-09 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
US7500010B2 (en) * 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
US9065595B2 (en) * 2005-04-07 2015-06-23 Opanga Networks, Inc. System and method for peak flow detection in a communication network
CN100411341C (en) * 2005-08-10 2008-08-13 华为技术有限公司 Parallel downloading method and terminal
CN100395978C (en) * 2005-08-15 2008-06-18 华为技术有限公司 Unloading method and terminal
US20070055743A1 (en) * 2005-09-02 2007-03-08 Pirtle Ross M Remote control media player
US8775662B2 (en) * 2005-09-27 2014-07-08 Blackberry Limited System and method for progressive delivery of multimedia objects
CN1852307B (en) * 2005-10-10 2010-12-08 华为技术有限公司 Data downloading method
US7930367B2 (en) * 2006-01-04 2011-04-19 Sony Ericsson Mobile Communications Ab Low storage portable media player
US8713195B2 (en) * 2006-02-10 2014-04-29 Cisco Technology, Inc. Method and system for streaming digital video content to a client in a digital video network
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
CN100452713C (en) * 2006-06-30 2009-01-14 清华大学 Network data concast transmission method based on distributed coding storage
JP4270252B2 (en) * 2006-09-15 2009-05-27 ソニー株式会社 Information processing apparatus, download method, download interruption method, download resume method, and program
WO2008065665A2 (en) * 2006-11-30 2008-06-05 Speedbit Ltd. Accelerated multimedia file download and playback
US8055902B2 (en) * 2007-01-12 2011-11-08 International Business Machines Corporation Method, system, and computer program product for data upload in a computing system
WO2008089277A1 (en) * 2007-01-16 2008-07-24 Mediacast, Llc Wireless data delivery management system and method
CN101227590B (en) * 2007-01-19 2013-03-06 北京风行在线技术有限公司 P2P protocol-based media file order program control method and apparatus
WO2008130983A1 (en) * 2007-04-16 2008-10-30 Attune Systems, Inc. File aggregation in a switched file system
US7685280B2 (en) * 2007-04-23 2010-03-23 International Business Machines Corporation Populating requests to multiple destinations using a mass request
US8682916B2 (en) * 2007-05-25 2014-03-25 F5 Networks, Inc. Remote file virtualization in a switched file system
US8429286B2 (en) * 2007-06-28 2013-04-23 Apple Inc. Methods and systems for rapid data acquisition over the internet
WO2009054907A2 (en) 2007-10-19 2009-04-30 Swarmcast, Inc. Media playback point seeking using data range requests
US8892738B2 (en) * 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US8180747B2 (en) 2007-11-12 2012-05-15 F5 Networks, Inc. Load sharing cluster file systems
US8548953B2 (en) * 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US20090204705A1 (en) * 2007-11-12 2009-08-13 Attune Systems, Inc. On Demand File Virtualization for Server Configuration Management with Limited Interruption
US8117244B2 (en) 2007-11-12 2012-02-14 F5 Networks, Inc. Non-disruptive file migration
US20090204650A1 (en) * 2007-11-15 2009-08-13 Attune Systems, Inc. File Deduplication using Copy-on-Write Storage Tiers
US8543720B2 (en) 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
US8352785B1 (en) 2007-12-13 2013-01-08 F5 Networks, Inc. Methods for generating a unified virtual snapshot and systems thereof
US7840661B2 (en) * 2007-12-28 2010-11-23 Yahoo! Inc. Creating and editing media objects using web requests
WO2009140208A2 (en) * 2008-05-12 2009-11-19 Swarmcast, Inc. Live media delivery over a packet-based computer network
EP2279584B1 (en) * 2008-05-20 2012-01-04 Thomson Licensing System and method for distributing a map of content available at multiple receivers
WO2009155356A1 (en) * 2008-06-18 2009-12-23 Onion Networks, KK Traffic and cost containment for internet access by adapting the coding rate when distributing- media content
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
WO2010017205A2 (en) * 2008-08-04 2010-02-11 Jeffrey Harrang Systems and methods for video bookmarking
KR20110057240A (en) * 2008-09-18 2011-05-31 오팡가 네트웍스, 인크. Systems and methods for automatic detection and coordinated delivery of burdensome media content
US9143341B2 (en) * 2008-11-07 2015-09-22 Opanga Networks, Inc. Systems and methods for portable data storage devices that automatically initiate data transfers utilizing host devices
WO2010068497A2 (en) * 2008-11-25 2010-06-17 Jeffrey Harrang Viral distribution of digital media content over social networks
WO2010065757A1 (en) 2008-12-04 2010-06-10 Swarmcast, Inc. Adaptive playback rate with look-ahead
CN101909283B (en) * 2009-06-04 2013-06-12 中兴通讯股份有限公司 M2M (Machine-to-Machine) platform and method for sharing load downloaded with in high capacity
WO2011022095A1 (en) 2009-08-19 2011-02-24 Opanga Networks, Inc Enhanced data delivery based on real time analysis of network communications quality and traffic
US8886790B2 (en) 2009-08-19 2014-11-11 Opanga Networks, Inc. Systems and methods for optimizing channel resources by coordinating data transfers based on data type and traffic
WO2011022094A1 (en) * 2009-08-20 2011-02-24 Opanga Networks, Inc Broadcasting content using surplus network capacity
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
EP2540058A2 (en) * 2010-02-26 2013-01-02 Tata Consultancy Services Ltd. A system and method for aggregating bandwidth of multiple active physical interfaces on application layer
US8495196B2 (en) 2010-03-22 2013-07-23 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
US9244969B1 (en) 2010-06-30 2016-01-26 Emc Corporation Virtual disk recovery
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
WO2012092586A2 (en) 2010-12-30 2012-07-05 Peerapp Ltd. Methods and systems for transmission of data over computer networks
CN103597471B (en) 2010-12-30 2017-05-17 皮尔爱普有限公司 Methods and systems for caching data communications over computer networks
CN102055805A (en) * 2010-12-30 2011-05-11 Tcl集团股份有限公司 Device and method for point-to-point (P2P) downloading based on internetwork protocol standards
US20120226738A1 (en) * 2011-03-04 2012-09-06 Zynga Inc. Simultaneous download of application file portions
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
CN102647465B (en) * 2012-03-30 2014-12-10 杭州华三通信技术有限公司 File transfer protocol (FTP) data transmission method and device applied in stack system
US9756108B2 (en) * 2012-05-29 2017-09-05 Google Inc. Preloading resources of a web page
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
CN104969534B (en) * 2012-10-18 2018-07-24 吉拉飞克科技股份有限公司 The jamming control method of communication linkage handling capacity can dynamically be expanded
US9300734B2 (en) * 2012-11-21 2016-03-29 NETFLIX Inc. Multi-CDN digital content streaming
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US9120490B2 (en) * 2013-09-09 2015-09-01 General Electric Company System and method for vehicle operation
US8938326B1 (en) * 2013-10-24 2015-01-20 Electro-Motive Diesel, Inc. System and method for expediting data transfer for a locomotive
CN103559297A (en) * 2013-11-12 2014-02-05 北京邮电大学 Breakpoint continuous acquisition method and system for book retrieval information
US10410244B2 (en) 2013-11-13 2019-09-10 Bi Science (2009) Ltd Behavioral content discovery
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) * 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
KR102078869B1 (en) 2015-03-17 2020-02-18 삼성전자주식회사 Method and apparatus for controlling multi connection improving data transfer rate
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
CN105306532A (en) * 2015-09-17 2016-02-03 中国电建集团成都勘测设计研究院有限公司 System and method for improving data downloading reliability and speed in meteorological model system
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10939142B2 (en) * 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US11159614B2 (en) 2019-01-23 2021-10-26 Samsung Electronics Co., Ltd. Method and apparatus for managing data in a network based on swarm intelligence
US11474912B2 (en) 2019-01-31 2022-10-18 Rubrik, Inc. Backup and restore of files with multiple hard links
US10846267B2 (en) * 2019-01-31 2020-11-24 Rubrik, Inc. Masterless backup and restore of files with multiple hard links

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583995A (en) * 1995-01-30 1996-12-10 Mrj, Inc. Apparatus and method for data storage and retrieval using bandwidth allocation
US5583868A (en) * 1994-07-25 1996-12-10 Microsoft Corporation Method and system for combining data from multiple servers into a single continuous data stream using a switch
US5602992A (en) * 1993-11-29 1997-02-11 Intel Corporation System for synchronizing data stream transferred from server to client by initializing clock when first packet is received and comparing packet time information with clock
US5640194A (en) * 1993-12-17 1997-06-17 Nippon Telegraph And Telephone Corporation Method of multiplexed data reading and visual search suitable for video-on-demand system
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5926624A (en) * 1996-09-12 1999-07-20 Audible, Inc. Digital information library and delivery system with logic for generating files targeted to the playback device
US5950198A (en) * 1997-03-24 1999-09-07 Novell, Inc. Processes and apparatuses for generating file correspondency through replication and synchronization between target and source computers
US5974460A (en) * 1997-06-16 1999-10-26 International Business Machines Corporation Apparatus and method for selecting an optimum telecommunications link
US6003045A (en) * 1997-09-17 1999-12-14 International Business Machines Corporation Accessing stored files from multiple storage devices
US6018780A (en) * 1998-05-19 2000-01-25 Lucent Technologies Inc. Method and apparatus for downloading a file to a remote unit
US6049892A (en) * 1997-02-24 2000-04-11 Ethos Software Corporation Process and apparatus for downloading data from a server computer to a client computer
US6052819A (en) * 1997-01-17 2000-04-18 Scientific-Atlanta, Inc. System and method for detecting correcting and discarding corrupted data packets in a cable data delivery system
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
US6105029A (en) * 1997-09-17 2000-08-15 International Business Machines Corporation Retrieving network files through parallel channels
US6178460B1 (en) * 1998-06-30 2001-01-23 International Business Machines Corporation Method of efficiently retrieving data on a computer network by monitoring performance of mirrored network locations
US6192412B1 (en) * 1998-07-28 2001-02-20 Lucent Technologies, Inc. Computer file transmission system and method
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
US6460087B1 (en) * 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
US6477522B1 (en) * 1999-06-10 2002-11-05 Gateway, Inc. Dynamic performance based server selection
US6665726B1 (en) * 2000-01-06 2003-12-16 Akamai Technologies, Inc. Method and system for fault tolerant media streaming over the internet

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602992A (en) * 1993-11-29 1997-02-11 Intel Corporation System for synchronizing data stream transferred from server to client by initializing clock when first packet is received and comparing packet time information with clock
US5640194A (en) * 1993-12-17 1997-06-17 Nippon Telegraph And Telephone Corporation Method of multiplexed data reading and visual search suitable for video-on-demand system
US5583868A (en) * 1994-07-25 1996-12-10 Microsoft Corporation Method and system for combining data from multiple servers into a single continuous data stream using a switch
US5583995A (en) * 1995-01-30 1996-12-10 Mrj, Inc. Apparatus and method for data storage and retrieval using bandwidth allocation
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5926624A (en) * 1996-09-12 1999-07-20 Audible, Inc. Digital information library and delivery system with logic for generating files targeted to the playback device
US6052819A (en) * 1997-01-17 2000-04-18 Scientific-Atlanta, Inc. System and method for detecting correcting and discarding corrupted data packets in a cable data delivery system
US6049892A (en) * 1997-02-24 2000-04-11 Ethos Software Corporation Process and apparatus for downloading data from a server computer to a client computer
US6049892C1 (en) * 1997-02-24 2002-06-04 Ethos Software Corp Process and apparatus for downloading data from a server computer to a client computer
US5950198A (en) * 1997-03-24 1999-09-07 Novell, Inc. Processes and apparatuses for generating file correspondency through replication and synchronization between target and source computers
US5974460A (en) * 1997-06-16 1999-10-26 International Business Machines Corporation Apparatus and method for selecting an optimum telecommunications link
US6105029A (en) * 1997-09-17 2000-08-15 International Business Machines Corporation Retrieving network files through parallel channels
US6003045A (en) * 1997-09-17 1999-12-14 International Business Machines Corporation Accessing stored files from multiple storage devices
US6460087B1 (en) * 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
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
US6178460B1 (en) * 1998-06-30 2001-01-23 International Business Machines Corporation Method of efficiently retrieving data on a computer network by monitoring performance of mirrored network locations
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6192412B1 (en) * 1998-07-28 2001-02-20 Lucent Technologies, Inc. Computer file transmission system and method
US6477522B1 (en) * 1999-06-10 2002-11-05 Gateway, Inc. Dynamic performance based server selection
US6339785B1 (en) * 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download
US6665726B1 (en) * 2000-01-06 2003-12-16 Akamai Technologies, Inc. Method and system for fault tolerant media streaming over the internet

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182367A1 (en) * 2002-03-22 2003-09-25 Brother Kogyo Kabushiki Kaisha Client-server system
US7853644B2 (en) * 2002-03-22 2010-12-14 Brother Kogyo Kabushiki Kaisha Client-server system
US20100306373A1 (en) * 2009-06-01 2010-12-02 Swarmcast, Inc. Data retrieval based on bandwidth cost and delay
US9948708B2 (en) * 2009-06-01 2018-04-17 Google Llc Data retrieval based on bandwidth cost and delay
US9239860B1 (en) 2010-06-30 2016-01-19 Emc Corporation Augmenting virtual directories
US9497257B1 (en) * 2010-06-30 2016-11-15 EMC IP Holding Company LLC File level referrals
KR101338689B1 (en) * 2011-09-21 2013-12-09 명지대학교 산학협력단 Method for server selection for parallel downloading service
US20130086142A1 (en) * 2011-09-30 2013-04-04 K. Georg Hampel System and Method for Mobility and Multi-Homing Content Retrieval Applications
US9215283B2 (en) * 2011-09-30 2015-12-15 Alcatel Lucent System and method for mobility and multi-homing content retrieval applications

Also Published As

Publication number Publication date
US6339785B1 (en) 2002-01-15
IL149822A0 (en) 2002-11-10
EP1240595A4 (en) 2009-09-23
AU1547301A (en) 2001-06-04
WO2001039002A1 (en) 2001-05-31
EP1240595A1 (en) 2002-09-18

Similar Documents

Publication Publication Date Title
US6339785B1 (en) Multi-server file download
US6377974B1 (en) Methods and apparatus for downloading a file from a server
EP1886472B1 (en) Method for multipart encoding
KR100754907B1 (en) Method of updating a search engine index
US7509372B2 (en) Method and system for redirecting data requests in peer-to-peer data networks
EP0866590B1 (en) System and method for delivery of information over narrow-band communications links
US7107406B2 (en) Method of prefetching reference objects using weight values of referrer objects
US5931912A (en) Traversal path-based approach to understanding user-oriented hypertext object usage
US8949368B2 (en) Method for cache object aggregation
EP1217552A2 (en) Http archive file
US9602613B2 (en) Method and system for accelerating browsing sessions
US20020073204A1 (en) Method and system for exchange of node characteristics for DATA sharing in peer-to-peer DATA networks
US6823362B2 (en) Effectively and efficiently updating content files among duplicate content servers
WO2008065665A2 (en) Accelerated multimedia file download and playback
WO2000025224A9 (en) Method and apparatus for determining transfer time and bandwdith between devices connected via a computer network
JP2007148885A (en) Content collection device and content collection system
US20020198961A1 (en) Method for improving web performance by client characterization-driven server adaptation
US8719216B2 (en) Caching of web form post-query requests
IL149822A (en) Multi-server file download
US6959299B2 (en) Information presentation apparatus with meta-information management function
EP3667509B1 (en) Communication device and communication method for processing meta data
JP2003050735A (en) System and method for updating database

Legal Events

Date Code Title Description
AS Assignment

Owner name: SPEEDBIT LTD., ISRAEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FEIGENBAUM, IDAN;REEL/FRAME:012678/0629

Effective date: 20020221

AS Assignment

Owner name: SPEEDBIT LTD., ISRAEL

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS FILE ON 3-14-02. RECORDED ON REEL 012678 FRAME 0629;ASSIGNOR:FEIGENBAUM, IDAN;REEL/FRAME:012934/0677

Effective date: 20020221

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION