More and more people use computers, and the internet, without achieving high-nerdom. Software that allows them to easily share their files is well received, e.g. Napster, Scour Exchange, and Gnutella.
Napster has relative ease of use, Scour Exchange has relatively powerful search capabilities, Gnutella has a decentralized architecture.
Anne's Ark implements the best of all three.
In addition to searching by filename, deeper searches can peer into the files to extract the author, artist, abstract, or full body of text.
Anne's Ark can sail in many seas of information, public and private. A business or other group can set up a private sharing network to share their files amongst themselves without incurring any overhead from the "General Public Net."
Web-mirroring allows Anne's Ark servers to "post" valuable network information (links to known users, frequently accessed files, etc.) to an ordinary HTTP server via ordinary FTP protocol. Even when the user's computer is shut down, the most valuable information (at the time of shutdown) is still visible via the "webpage."
Personal servers will go in and out of the net in a very dynamic fashion, with downtimes exceeding 90% in many cases, as opposed to less than 1% for most commercial web servers.
Mirroring on commercial networks is a viable possibility (Scour Exchange works closely with idrive.com), and can be used by Anne's Ark servers as well, though this is not the primary focus of Anne's Ark, since personal computer storage space is measured in Gigabytes, while most readily available (and cheap) commercial FTP sites are limited to 50 Megs or less. 50 Megs can hold the text of an entire Encyclopedia, or JPGs of every Playboy Centerfold ever published, or MP3s of a single LP album, or about 5 minutes of video. Computers and their owners are moving up the media food chain quickly, and they are going to need to store things on their own hard drives.
Gnutella is based on a VERY simple protocol, with some inherent flaws - it will be impossible for the current Gnutella net to grow very large (10,000 users or more), and continue to allow all users to effectively search the whole net.
The primary function of Anne's Ark protocol is to support searches of member's local computers. A secondary layer searches additional data which is kept on "always on" HTTP servers (webpages).
Searches are used to:
Regardless, when search results are returned, the searching user gets the respondant's net address. Both searcher and searchee may chose to keep this address information for future use, even to go and check out what else the other is sharing on the net.
A "lurker" might log on to the net, share no files, respond to no search requests, and just go check everyone elses' files out.
A bad actor might flood the net with bogus, or simply annoying, search requests. A particularly bad actor might pose as a routing node, then intentionally drop, garble, or otherwise disrupt legitimate search traffic.
IP addresses can be banned from the system. Using cryptographically authenticated commands, a particular IP address can be shut out of the system quickly, and entirely. This type of power obviously can cause quite a bit of trouble, as well.
Automated "abuse monitor" algorithms can watch for nodes that aren't playing along nicely, and temporarily suspend them.
If "spoof" software becomes a problem, cryptographic authentication can be used to slow down the spammers. Keeping the keys from the spoofers will be a challenge, but might slow them down a bit.
A private net might choose to encrypt its search traffic (and file transfers) for reasons of security. All members of the private net would possess the "net password", allowing them to make sense of the packets, while outsiders cannot. Lurkers wouldn't be able to tell much about an encrypted private net, except perhaps the level of activity. Spoofers wouldn't have a chance on a private net, unless they somehow got the key. For this reason, secure redistribution of key changes to select members (all but the spoofer) is necessary.
There are few, if any reasons why the public net should carry private traffic, since the private net members can contact each other directly through IP.
Private nets don't need to encrypt their traffic if they don't want to. They can form with limited, or no, interaction with the public net, and perform in the same manner, just exchanging search information locally.
Lists of last known contact addresses can be published on web pages forming a "Netpost" where contact with the net may be reliably initiated. Frequently requested files can also be put up on http: servers, and all of this can be done automatically by the software.
The final, and somewhat unattractive, upshot of this is that the software will also "like to" search the http: servers in the absence of their AA hosts, which is certainly possible, but rather inefficient unless the "content focusing" of user's self delcared SIGs proves useful.
As previously mentioned, mirroring and netposts can be considered a second level protocol, optional to the proper functioning of the primary Anne's Ark architecture.
On the other hand, properly done, these archives can automatically cross-link with each other based on SIG, automatically update to carry the information of "most recent interest," and do all sorts of other clever things - making themselves useful to people who don't even have the AA software (ala Scour Exchange.)
A "Strong" client (or servant, in Gnutellaese) program would have LDAP, file indexing tables, and all sorts of other heavy duty search tools, enabling quick and efficient searches of the local database. On the other hand, many local databases will consist of a small number of large media files - making strong search tools extreme overkill.
Being open source, anyone may then create services and software to access those services. There are some services (like realtime stock quotes) that should be handled by "the big boys" with their large, dedicated central servers - but there's no reason to run to a big server when you just want to chat with your friends.
What the peer-to-peer model can do is put significantly more CPU horsepower to work in a distributed real-time search of what is available right now. This is especially important in the "home server" arena where we might anticipate upwards of 90% "server" downtime for any given server. But, given a a million servers overall, that still leaves 100,000 online at any given time - certainly a resource worth tapping into.