This project outline is not like the artificial tidy 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, 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 endeavor.
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 per megabyte. If your computer is providing that service, you get 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 per megabyte with a minimum charge of 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 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.
| You can get the freshest copy of this page from: | or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror) | |
| http://mindprod.com/project/bulkfiledistributor.html | J:\mindprod\project\bulkfiledistributor.html | |
![]() | ||
| Canadian Mind Products | ||
| mindprod.com IP:[65.110.21.43] | ||
| view Blog | Your face IP:[38.107.191.106] | |
| Feedback | You are visitor number 12,895. | |