Industrial-Strength P2P
hhutkin writes "Business 2.0 has an article in their latest issue on Bill Joy and Sun's peer-to-peer play, Jxta." A bit light on details but still good to know progress is being made in the field of peer to peer apps. But don't expect anything useful any time soon.
Unless a new technology:
A: Means I can do something I currently cannot (and want to do)
or
B: Does something so much better as to make my old methods obsolete
it doesn't excite me much. I think sharing illegal files was the killer app of P2P.
Let's not stir that bag of worms...
This is what I don't understand. Unless it's either a paid-subscription model (pay to join) or a truly, totally distributed and open-source system (there are NO central servers of any kind), I'm not sure how P2P can make money.
Of course not all web sites have to make money. Once upon a time, pre-dot-com-boom, this was common knowledge. P2P networks run by dedicated enthusiasts may have the best chance of survival. Those are the kind of sites I've always liked best anyway...done for love, not money.
They provide considerably more details, to wit:
The Project JXTA platform initially defines the following protocols:
This kind of corresponds to some of the traditional Unix services like Bind, and such, or with CORBA services like Naming, Trading, and such, albeit with the explicit intent that the respective "registries" of hosts and host information be Rather Dynamic.
This seems a lot more likely to "go somewhere" than Jini, seeing as how it's a lot more "platform-independent." See the Protocol Specs
If you're not part of the solution, you're part of the precipitate.
Sun has definately is omnious in its presence on unix market, but their contributions to unix communities, while cool for programmers - were not for sysadmin. RPC, NFS and NIS(+) were some the most exploted system blocks, running right behind bind and sendmail. Going to next point, does industrial strength means free gateways for hackers scanning cable and xDSL address ranges?
2c
The web makes no money. Some companies/people use the internet standards to make money, but the "web" itself does not. (For example, www.slashdot.com makes some money on the web through advertising.)
How will p2p make money? It will not. Some companies/people might figure out a way to leverage it though.
--- -- - -
Give me LIBERTY, or give me a check.
JXTA - means of identifying and communicating with objects. Uses HTTP and XML. Brought to you by Sun. P2P! P2P!
SOAP/UDDI - means of identifying and communicating with objects. Uses HTTP and XML. Widely deployed standard. Use for anything you'd like.
Let's not stir that bag of worms...
1. JXTA was written by a bunch of inexperienced Java developers. They broke all the rules of Java programming and wrote spagetti code. I think they discovered Design Patterns in the middle of their project and overused and abused them, yielding worse code.
2. They wrote demonstrations that used the pipe and filter architecture pattern to construct a unix shell essentially. One could list the peers on the network, pipe it through more, and wow your boss. But wait, it doesn't stop there - they created a chat program -- oooh.. IRC, IM anyone? When the time came to implement a real application, it was near impossible
3. The firewall/double firewall tunneling didn't work, so LAN deployment only folks!
4. The RVs, where peers gather and discover one another, were designed to only handle 10 socket connections, 4 of which were persistent. Nice and scalable! No failover support for the 1st release, BTW :)
5. There were a lot of holes in the specification and thus ports to other languages will yield them potentially incompatible above the basic network protocol(which is XML, BTW, and thus slow as binary exchange of files need to be BASE64 encoded)
6. The entire JXTA project is tagged as a research and development project only. This means that unlike Jini, which obtained a large marketing and development budget, Sun is throwing a lot of cheap developers and little marketing to this project.
In the end, it didn't deliver what it promised, it wasn't built for production use (Jini at least was, to some degree thank you Mr. Joy), and missed a lot of concepts necessary for effective peer networking.
Where are they now? Not sure.. We quit looking at their code around July and concentrated on other network alternatives - settling on Jabber.
What a disappointment!
Actually, the fact that your mindset became widespread is probably one of the worst things that happened to the web and Internet. It used to be mostly P2P until VCs and other companies started hijacking previously decentralized services and putting them on big, inefficient, hard-to-maintain, vulnerable central servers.
P2P represents a return to the roots of the web and Internet. If you want to chat with someone or exchange information with other people, you put it on a machine you control. Hopefully, ISPs and web hosting servicese will improve the quality of their product in response to increased demand. Improved services means both better outgoing bandwidth, better usage metering, and better naming services (so that people can find you).
Oh, in case you still don't get it, the people who make money with P2P is the ISPs, software, and hardware makers.
Essentially the problem with Jxta is that it is built on the assumption that P2P needs a communication standard above the TCP/IP level, and I am unconvinced that it does. The range of applications that call themselves P2P are sufficiently diverse that they each have different (and often mutually-exclusive) requirements of the communication layer that sits above TCP/IP, yet this is exactly the layer that JXTA tries to mandate.
As an example, Freenet has very strict requirements about how encryption is implemented at a low level, most other P2P architectures have no such requirement (and, in fact, would fail if such a requirement was forced upon them). Freenet, Fastrack, Mojo Nation and other systems also have very different ideas about how peer discovery is achieved, yet again, JXTA tries to mandate this too (adopting a Gnutella-inspired approach).
Standards are useful in some circumstances, but for P2P, TCP/IP is probably the highest-level standard we need.
I can't believe P2P gets such a rap from this crowd. There are *lots* of things you can do with it besides file sharing or MP3 thieving. First, let's take a look at what has already been done with it (although it wasn't called P2P at the time):
1. The WWW itself is purely P2P. links form the backbone of the P2P network. Search engines make the spidering more efficient, but they are really just cached spidering. At the base level, to get around, you spider just as in Gnutella.
2. Samba is P2P.
3. CUPS is P2P, letting you share your printers.
4. NFS is P2P when you connect to and start using enough servers (although when you do this, let the hacking begin...)
Here is what *could* be done with it:
1. I'm currently heading a project to share genealogical information. Post your GEDCOM to your computer's P2P app, and it is automatically spiderable on the network. For those interested, its still at alpha/beta stage and at gntp.sourceforge.net.
2. Wouldn't a world wide library application be wonderful? Input your book or article, and all of the libraries worlwide that have your book show up. No, I'm not talking about the textual WWW. I'm talking about a strongly-data-typed library network.
3. What about a P2P e-business network. Again, it could be strongly-typed and object oriented. Much more powerful than WWW. I developed one of these and I'm publishing a paper on it right now. It would make today's registries and marketplaces useless. Allow anyone on, user-customizable categorization scheme, etc. This one would take a big player like MS or IBM to really implement, though, because you need lots of people on it all at once to make it useful.
My point is that there are many, many uses for P2P. People just need to open their minds to what has already been done and what could be done. File sharing is great, but it is only the beginning of the types of networks we could build.