image provider

Bulk File Distributor

The CurrCon Java Applet displays prices on this web page converted with today’s exchange rates into your local international currency, e.g. Euros, US dollars, Canadian dollars, British Pounds, Indian Rupees… CurrCon requires an up-to-date browser and Java version 1.8, preferably 1.8.0_131. If you can’t see the prices in your local currency, Troubleshoot. Use Firefox for best results.

Disclaimer

This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.

This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.

Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.

Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.

Please do not email me about this project without reading the disclaimer above.

This project is similar to the Napster Clone project. Consider large downloads like the JRE (Java Runtime Environment), the JDK (Java Development Kit), Web Start and the Windows fixpacks. Currently each user downloads these from thousands of miles away over the Internet, often using a pathetic 56K modem. What is wrong with this picture?
  1. There are people nearby with copies of these giant files. Why not get them from them instead?
  2. Often these files are very similar to earlier versions the user already has. Why not just send the changes?
  3. If a session disconnects, you have to start all over. Why not just pick up where you left off, perhaps with different servers?
  4. It takes forever to pick up a large file by modem. Why not get it on CD (Compact Disc)?
The intent of this project is to efficiently distribute large files. It could eventually be used to distribute commercial software and updates as well. It works in many ways like Napster. It uses either TCP/IP (Transmission Control Protocol/Internet Protocol) or the SAX ackless protocol with multiple simultaneous servers for efficiency. It uses deltas for doing automatic updates.

There is a distributed index of what is locally available on various participant machines. If a file is not available locally, it will also appear as well. You can then download it from various servers. For this service you pay something like $0.05 USD per megabyte. If your computer is providing that service, you get $0.04 USD per megabyte. The main advantage to you is getting the file faster and also the hope that others will later download it from you paying back your investment. The global improvement is offloading the master servers.

However, the main use of the system is getting files on CD. You can request a CD be mailed to you for $0.10 USD per megabyte with a minimum charge of $5.00 USD When you receive the CD, you electronically send in a code from the CD and in return get an unlocking code. At that point the money is transferred. If you have a CD burner, you may optionally accept requests too to prepare and mail CDs.

The central registry has a description of each file, its size and a checksum. The file itself might be encrypted. Normally there would be a digital signature for each file to attest to its authenticity and authorship. Commercial software would normally be encrypted, or would have a piece of the code missing that had to be supplied later to active the code. Every file has a unique 64-bit number id. The orginal owner of the file can create a registry entry for the file. He can also withdraw the file from the distribution system. This will not erase the file everywhere, but will stop it from further distribution, stop it from appearing in catalogs and will flush it from local caches.

Creators of files might provide a Java program to print a full-colour CD labels and jewel case labels.

You might have a scheme where each server sets their own rates. The software automatically finds the closest, fastest, cheapest sources. A retail store may set up where you can pick up CDs (Compact Discs) or get them created on request. If the scheme caught on, a tiny hole is the wall storefront could have every commercial package on tap.

You could think of this as like a caching system with a central registry on what’s the latest and greatest. Instead of always going to the central source to find out, you could have a co-operative scheme based on best guess at best before date. If the best before date is shortened, or the shelf life has been extended, or the file has been replaced, the person who gave you the file is obligated to tell you. For extra reliability, you might arrange with several sources to notify you. There is no need to get it precisely from the horse’s mouth. You might overload the horse.

Similarly this scheme could collect hit count statistics and summarise them and funnel them back to the content creator, neatly categorised by number of hits and number of unique visitors. There should be no need for the central content provider to bog everyone down serving dummy hit count images. There is no need for the content provider to know precisely who looked at his content.

Eventually such a scheme also support micropaymenets for using the distributed files. They would be distributed in encrypted form and only decrypted inside dark rooms.

BitTorrent
Delta File Creator Project
Internet Radio Project
JavaMix

This page is posted
on the web at:

http://mindprod.com/project/bulkfiledistributor.html

Optional Replicator mirror
of mindprod.com
on local hard disk J:

J:\mindprod\project\bulkfiledistributor.html
Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

IP:[65.110.21.43]
Your face IP:[44.221.45.48]
You are visitor number