YOUR FEEDBACK
Alpha Five Platinum Brings AJAX to the Enterprise
brian smith wrote: I have been using Alpha Five platinum and have been ple...
SOA World Conference
Virtualization Conference
$50 Savings Expire May 23, 2008... – Register Today!


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


Peer Networking Series - A Closer Look at PNRP vs. Bonjour/ZeroConf
From Kevin Hoffman's .NET Addicts Blog

Digg This!

Kevin Hoffman’s Blog

It seems as though whenever I bring up PNRP and its benefits, I am immediately inundated with a list of questions or comments indicating that Microsoft is re-inventing the wheel and that PNRP has already been implemented before in the form of ZeroConf and, more specifically, Apple's implementation of it called Bonjour (formerly known as Rendezvous).

Here's the thing - the two services fix two different problems. The issue arises in that their solution has a small area of overlap and that's what confuses people. Because it is possible to use PNRP's basic implementation in the same way that most people use Bonjour, most people (erroneously so) assume that PNRP is nothing more than a proprietary vendor lock-in version of Bonjour.

First, let's take a look at Bonjour. Bonjour is an implementation of dynamic DNS. In previous posts in this series, I discussed the need for dynamic DNS. Traditional DNS is too slow, too bulky, and isn't really designed for the publication of dynamic services that could go offline at a moment's notice. Services like that might be a printer on your local network, an iTunes shared playlist, or a Windows Media Center device, including services offered on your local network by your Xbox 360. Peer applications traditionally use Bonjour because they need a fast, lightweight way to browse for and publish service advertisements on a local network.

At this point, you're probably thinking, "But wait.. Bonjour that shipped with Leopard can have global scope." And you are quite correct, but remember that Bonjour is still a dynamic DNS protocol. As such, it needs a server for global scope. While you can operate serverless when doing local network multicast, Bonjour still requires you to know about a particular server somewhere "out there" on the intertubes that will host your service publication. Additionally, clients that you want to be able to browse for that record must also know the location of that server. This is perfectly fine if you're a large company and you can easily dedicate a machine in your domain as your Bonjour box, allowing your game or LOB app to find other users globally. But what do you do if you really want a truly serverless peer service publication and location service?

This is where the paths of PNRP and Bonjour diverge. PNRP is, by my definition, a truly peer-to-peer protocol. There is no central state server, no central registration server. If you publish a peer name registration globally through PNRP, you do not need to have a single central server on which to place that record.

The other issue is this: what do you do if you want to make sure that you are the sole owner of that peer name? If you want to make sure that your application is the only application in the world that has the ability to publish service locations for a particular peer name... what do you do? Bonjour doesn't have this built into it. PNRP allows you to digitally sign peer names with your own private key. Anywhere else in the world, any application that attempts to manipulate published name registrations for a secured and signed name - will fail. The only application that can manipulate a signed peer name registration is an application that knows your private key. This is tremendously powerful for peer applications that you want to have a large, global reach but you don't want to deploy all kinds of server infrastructure for maintaining your own registrations like many other applications do.

So it basically comes down to this: Sure, you can use PNRP to do the same thing that Bonjour does, but you can also use PNRP to do quite a few things that Bonjour isn't designed to do. This doesn't mean that Bonjour is bad, because it's actually a kickass piece of technology (you'll know how much I love it if you've seen some of my Cocoa posts in the past). However, if you want to do secured peer name registrations, or serverless global peer name registrations, then PNRP is your tool.

I will be posting more and more about peer networks, peer networking, and eventually heading toward a post about Live Mesh and ecosystems/social networks, so stay tuned! 

tags: zeroconf  bonjour  pnrp  peer  peerseries  peernetworking  

links: digg this  del.icio.us  technorati  reddit

About Kevin Hoffman
Kevin Hoffman, editor-in-chief of SYS-CON's "iPhone Developer's Journal" is one of the most popular "iPhone" and "Silverlight" bloggers on the Net. Kevin has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise Web applications in VB, C++, Delphi, and C. He is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. Kevin authors "The .NET Addict's Blog" at ".Net Developer's Journal" (dotnetaddict.dotnetdevelopersjournal.com).

LATEST ECLIPSE STORIES . . .
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
Borland Finally Dumps CodeGear Tools Division
It's only taken Borland two years but it's finally dumped its CodeGear tools division, responsible for Borland's hereditary JBuilder, Delphi and C++ Builder lines as well as its new web ventures into PHP and Ruby, said to be used by 7.5 million developers. Embarcadero Technologies is b
AJAX World - Skyway Software Announces RIA Developer Contest
According to Sean Walsh, President and CEO of Skyway Software, 'Our Skyway Community is thriving and our members are very talented. We truly look forward to their RIAs submittals and Skyway Builder extensions and are excited that all of the contributions will benefit the entire Skyway
Skyway Software Releases Eclipse Plug-In at JavaOne
Skyway Software announced a strategic partnership with SpringSource. In this technology partnership, Skyway Software becomes an application-delivery ISV certified by SpringSource and integrates Spring into Skyway Visual Perspectives, its end-to-end application development and delivery
Virtualization Conference Keynote Webcast Live on SYS-CON.TV
Brian Stevens, the Chief Technology Officer and Vice President of Engineering of Red Hat, delivered his Virtualization Keynote 'The Future of the Virtual Enterprise' at SYS-CON's Virtualization Conference & Expo 2007 West in San Francisco. 'Virtualization is the hottest subject today,
Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
Red Hat is a trusted open source provider. Red Hat offers enterprise customers a long-term plan for building infrastructures on the quality and innovation of open source. Combining open source operating system platform, Red Hat Enterprise Linux, together with applications, management
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE