I have been following the work that Microsoft is doing in their Windows Peer To Peer Networking.
This is actually some very impressive technology that allows for a
distributed set of users to create peer-to-peer groups for exchanging
data and information. I’m working on some applications (actually
plug-ins for GoBinder) that are going to exploit this
technology. Microsoft has put together a Peer To Peer SDK allowing you to perform name-to-IP name resolution (PNRP
– a serverless DNS technology), along with graphing and grouping APIs
for the transfer of data between the peers. It’s all very
impressive stuff … and is in all Windows XP SP2 machines … and will
be in all Vista machines. The bottom line … this is going to
drastically alter how ad-hoc groups of users on Windows machines will
be able to locate each other, communicate, and collaborate.
Today, I found yet another amazing technology out of Microsoft Research.
For years I have been tracking the “wireless mesh networking”
space. This is where each node in a wireless network is a
repeater/relay for any other node that is within range. With true
mesh technologies I can communicate with other users, even if they are
beyond the reach of my wireless signal, if there are one or more nodes
between us that are part of the “mesh” network. Mesh networks are
the next big thing … even the cellular carriers are talking about
adding emergency mesh capabilities into cell phones.
What I found today is that Microsoft Research
has code available today that will allow you to experiment with some
pretty advanced mesh networking using your Windows XP machine!
The Microsoft Research Networking Research Group has released their Mesh Networking software, and even an Mesh Networking Academic Resource Toolkit.
I’ve started to go through the documentation, and so far this is a very
impressive solution. They have embraced and extended some of the
standards that are currently being developed:
We implement ad-hoc routing and link quality measurement in a module that we
call the Mesh Connectivity Layer (MCL). Architecturally, MCL is a loadable
Microsoft Windows driver. It implements a virtual network adapter, so that to
the rest of the system the ad-hoc network appears as an additional (virtual)
network link. MCL routes using a modified version of DSR (an IETF protocol) that
we call Link Quality Source Routing (LQSR). We have modified DSR extensively to
improve its behavior, most significantly to support link quality metrics.
The MCL driver implements an interposition layer between layer 2 (the link
layer) and layer 3 (the network layer). To higher layer software, MCL appears to
be just another Ethernet link, albeit a virtual link. To lower layer software,
MCL appears to be just another protocol running over the physical link.
I am really impressed to see this work this far along. I have
been waiting for years to see mesh networking hit the masses … and
this is now getting close. I’m now going to upgrade some of my
wearable computers to Windows XP just to experiment with this!