Claims
- 1. A system for selecting a delivery site, located on a distributed computer network, from which to a receive a file, the system comprising:
a communications network; at least one content provider connected to the network, wherein the content provider stores at least one file; at least two delivery sites connected to the network, wherein each delivery site stores the same file as the content provider; a user terminal connected to the network; a network testing apparatus for testing the network and selecting a preferred delivery site from all delivery sites connected to the network; and a downloading apparatus for downloading the file from the preferred delivery site to the user terminal.
- 2. A system according to claim 1, wherein the network testing apparatus comprises a first storage medium connected to the user terminal, wherein the first storage medium embodies a first software program for testing the network and selecting a preferred delivery site from all delivery sites connected to the network.
- 3. A system according to claim 2, wherein the downloading apparatus comprises a second storage medium connected to the user terminal, wherein the second storage medium embodies a second software program capable of downloading the file from the preferred delivery site to the user terminal.
- 4. A system according to claim 3, further comprising a database connected to the network.
- 5. A system according to claim 4, wherein the first software program uses a list of delivery sites created by the database.
- 6. A system according to claim 5, wherein the first software program uses results from a network analysis procedure to choose the preferred delivery site from the list of delivery sites.
- 7. A system according to claim 5, wherein the first software program uses results from a network analysis procedure to create a prioritized list of preferred delivery sites.
- 8. A system according to claim 6, wherein the network analysis procedure is performed at least in part at the user terminal.
- 9. A system according to claim 8, wherein the network analysis procedure comprises a plurality of network tests.
- 10. A system according to claim 9, wherein the network tests are selected from a list of tests maintained in the database.
- 11. A system according to claim 10, wherein the list of tests includes a download elapsed time test.
- 12. A system according to claim 11, wherein the elapsed time test is normalized by an average load experienced by each tested delivery site.
- 13. A system according to claim 9, wherein the network testing procedure yields a numerical performance rating for each tested delivery site.
- 14. A system according to claim 13, wherein the numerical performance rating is calculated as a weighted sum of results from the network tests.
- 15. A system according to claim 14, wherein the weighted sum is calculated using weights provided for each network test by the database.
- 16. A system according to claim 9, wherein results from the network tests are provided to the database.
- 17. A system according to claim 16, wherein the results are stored in the database.
- 18. A system according to claim 9, wherein the first software program performs the network tests in conjunction with the user terminal.
- 19. A system according to claim 18, wherein the second software program performs the download in conjunction with the user terminal.
- 20. A system according to claim 18, wherein the first software program can be executed at any time.
- 21. A system according to claim 20, wherein the first software program is executed automatically before any file is downloaded.
- 22. A system according to claim 1, wherein the file comprises a video clip.
- 23. A system according to claim 7, wherein the second software program uses the prioritized list.
- 24. A system according to claim 23, wherein the second software program first attempts to use a first delivery site specified in the prioritized list.
- 25. A system according to claim 24, wherein if the first delivery site fails, the second software program will attempt to use succeeding delivery sites specified in the prioritized list.
- 26. A system according to claim 25, wherein if all delivery sites in the prioritized list fail, the second software program will attempt to download directly from the content provider.
- 27. A system according to claim 12, wherein the average load is monitored by each delivery site, and a number corresponding to the average load is stored by each delivery site to be accessible to the network.
- 28. A system according to claim 1, wherein the file has characteristic information associated therewith.
- 29. A system according to claim 28, wherein the characteristic information includes information specifying that the file is stored on at least two delivery sites.
- 30. A system according to claim 29, wherein the characteristic information identifies the content provider.
- 31. A system according to claim 28, wherein the characteristic information includes content rating information.
- 32. A system according to claim 28, wherein the characteristic information is stored within an “EMBED” statement corresponding to the file.
- 33. A method for determining a set of preferred delivery sites from a plurality of delivery sites on a network, comprising the steps of:
obtaining a list of delivery sites; performing at least one network test; processing results from the network test; and prioritizing the delivery sites according to the test results.
- 34. The method of claim 33, wherein the performing step comprises testing some of the delivery sites in the list.
- 35. The method of claim 34, wherein the performing step comprises:
selecting a subset of delivery sites from the list; and running at least one test for each of the delivery sites in the subset.
- 36. The method of claim 35, wherein the test is selected from a plurality of tests.
- 37. The method of claim 36, wherein the plurality of tests is specified in a database connected to the network.
- 38. The method of claim 37, wherein the test is selected from the plurality by way of random selection based on a frequency specified in the database.
- 39. The method of claim 33, further comprising the step of sending the results to a database connected to the network.
- 40. The method of claim 33, wherein the processing step comprises weighting the results.
- 41. The method of claim 40, wherein the weighting step uses weights specified in the list of delivery sites.
- 42. The method of claim 33, wherein the prioritizing step comprises storing the set of delivery sites in a preferred order.
- 43. The method of claim 42, wherein the preferred order is determined by the test results.
- 44. The method of claim 33, wherein the list of delivery sites is obtained from a database.
- 45. A method for downloading a file from a delivery site, comprising the steps of:
identifying a desired file; determining whether the desired file is mirrored on one or more delivery sites; if the desired file is mirrored, identifying a preferred delivery site from a prioritized list of delivery sites; and downloading the desired file from the preferred delivery site.
- 46. The method of claim 45, wherein the retrieving and downloading steps are repeated until the downloading step is successful.
- 47. The method of claim 46, further comprising the step of downloading the desired file from a content provider site if the repeated retrieving and downloading steps are unsuccessful.
- 48. The method of claim 45, further comprising the step of verifying file authorization after the determining step.
- 49. The method of claim 48, wherein the verifying step comprises the substeps of:
checking if the desired file has a content rating; if the file has a content rating, comparing the content rating against a standard specified by a user; if the content rating is acceptable to the user, or if the clip has no content rating and unrated clips are acceptable to the user, authorizing the downloading step; and otherwise declining the downloading step.
- 50. The method of claim 49, wherein the downloading step is performed only if it is authorized.
- 51. The method of claim 45, further comprising the step of storing the downloaded file in a data area on the user terminal.
- 52. The method of claim 51, wherein the storing step comprises the substeps of:
determining if there is sufficient room in the data area to store the downloaded file; if there is not sufficient room, deleting the least-recently-used files from the data area; and saving the downloaded file to the data area.
- 53. The method of claim 52, further comprising the steps of:
prior to the downloading step, searching for the desired file in the data area; if the desired file is found as a stored file, verifying that the stored file is identical to the desired file; and if the desired file and stored file are identical, displaying the stored file instead of downloading the desired file.
- 54. The method of claim 53, wherein the verifying step comprises comparing the dates and times of creation for the stored file and the desired file.
- 55. The method of claim 45, further comprising the step of informing a mirror service provider of a successful download.
- 56. A method for locating and maintaining a network of delivery sites for the optimized storage and retrieval of files, comprising the steps of:
receiving network test results from a plurality of users; storing the test results in a database; processing the test results; determining network performance at various locations on the network; and notifying the users whenever a delivery site is added or removed.
Parent Case Info
[0001] The invention is a continuation-in-part of Ser. No. 08/660,540, filed on Jun. 7, 1996, which is a continuation-in-part of Ser. No. 08/486,517, filed Jun. 7, 1995.
Continuations (3)
|
Number |
Date |
Country |
Parent |
09635289 |
Aug 2000 |
US |
Child |
10331620 |
Dec 2002 |
US |
Parent |
09213946 |
Dec 1998 |
US |
Child |
09635289 |
Aug 2000 |
US |
Parent |
08733516 |
Oct 1996 |
US |
Child |
09213946 |
Dec 1998 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
08660540 |
Jun 1996 |
US |
Child |
08733516 |
Oct 1996 |
US |
Parent |
08486517 |
Jun 1995 |
US |
Child |
08660540 |
Jun 1996 |
US |