From: brian@jaguar.cs.utah.edu (Brian Sturgill)
Subject: Tidbits about Windows for Workgroups.
Followup-To: comp.os.ms-windows.advocacy
Originator: brian@jaguar.cs.utah.edu
Organization: University of Utah CS Dept
Date: Mon, 9 Nov 92 06:10:34 GMT

[I cross-posted to prog.win32 as the using WfW with NT is probably useful
there... I redirected follups just to the advocacy group as prog.win32
is awfully busy.]

The following is a special set of tidbits from the trade rags that is
limited to items about Microsoft's new Windows for Workgroups (WfW) product.

The longest part is a technical description of WfW with details
you probably have not seen before.

Contents:
	Brief feature list of WfW.
	WfW debuts.
	Open Systems Today (a Unix rag) on WfW.
	Support concerns and WfW.
	Novell accuses Microsoft of illegally using NetWare
		functionality in WfW.
	A personal view of WfW in use in my home.
	Using WfW with the October NT beta.
	Informal communication from Microsoft on
		Technical Aspects of WfW.

-------------
[Based in part on MS WfW "Getting Started Manual"]
[
I figure everybody will get a copy of "Focus on Microsoft Windows",
and further the basic feature list has been out for quite some
time.  However I expect that some will not know, so here's a
brief list of features:

	Extremely easy to install and maintain.

	Peer-to-peer networking and printer sharing.
	Priority of net tasks relative to windows ones is
	setable.  It multi-tasks very smoothly.

	E-Mail  (Microsoft Mail... looks good relative to Unix
	mail agents, but I don't have much experience with PC-based
	mailers.)
	One can paste OLE objects into messages.

	Schedule+  A distributed scheduling application.
		Keeps track of appointments and notes.  Manages the
		creation of meetings with other users of Schedule.
		Basically you can check their schedules remotely, and
		then remotely suggest a meeting time.  Then each person
		in the meeting will be sent a query electronically as
		to whether or not they accept the time.  It looks very
		nice.
	
	Distributed "clipbooks", clipboards that are shared over
	the network.

	Net-DDE.  The ability to DDE (and OLE) remotely.

	Chat  Talk to other users over the net.

	Net Watcher  Monitor net usage.

	Hearts  The card game... one can play other players
		over the net.

	WinMeter  A graphical load monitor.

	Novell Netware and NetBEUI (Lan Manager) transports are
	included.
]

-------------
[Infoworld; November 2, 1992; Page 103]
WFW TEMPTS AT $69; BUNDLES TO COME
Microsoft aims at making WFW the dominant platform.
By Shawn Willett

Microsoft Corp. plans to jump-start sales of Windows for
Workgroups by offering it for $69 to WIndows 3.1 users and
bundling workgroup-enabled versions of Access and Word with the
product early next year.

The promotions are part of a strategy to catapult WFW to the
position of dominant Windows version in the next year, analysts
and Microsoft officials said.

"I expect Windows for Workgroups will overtake WIndows 3.1 by the
end of 1993," said Jesse Berst, editor of the _Windows Watcher_
newsletter, in Redmond, Wash.

"By the end of 1994, I expect 50 percent of new users will by
[sic] buying WFW, 30 to 40 percent will be buying Windows 3.1,
and 10 to 20 percent will be buying NT," Berst added.

The $69 offer is being made to Windows 3.1 users through its
_Focus on Windows_ newsletter. Already resellers such as Egghead
Software are discounting the product to $59.95, below the
suggested $99 upgrade price.
...
[Begin Chart.]
HARDWARE VENDORS JUMP ON WFW BANDWAGON
Vendor			System
==================================================
Ariel Design		Workgroup PCs
AST			Bravo 4
CompuAdd		PCs with networking cards
Gateway 2000		All systems
HP			Vectra 486N
NCR			System 3000
Packard Bell		Network ready
Unisys			Personal Workstation2
Wyse			3 Decision
			486si PCs
			& 386 model
Zenith Data Sys		Z-Station
			Z-NotePCs
[End Chart.]

-------------
[Open Systems Today; November 2, 1992; Page 3]
Microsoft Debuts Windows Product.  By Dan Richman
[WfW cost: $249.95 list, $99.95 Win 3.1 upgrade, $149.95 Win 3.0 upgrade.]
...
In some form, Workgroup for Windows 3.1 [sic] will be bundled with
computers form at least 40 vendors, said Rogers Weed, a WIndows for
Workgroups product manager. Those vendors will determine individually
whether to offer users a choice of WIndows or Windows for Workgroups,
or rather, whether to create and then bundle one WIndows product that
will make available WIndows for Workgroup's additional capabilities.

More than 100 hardware vendors and independent software vendors
have announced products they say will take advantage of WIndows
for Workgroup's capabilities. Among the applications to be
reworked to support Windows for Workgroups are Microsoft's Word
and Excel; WordPerfect, from WordPerfect, Orem, Utah; Norton
Desktop, from Symantec, Cupertino, Calif.; the SmartStream
client-server environment, from Dun & Bradstreet Software,
Atlanta; LightShip, an information-access tool, from Pilot
Software, Boston; Superbase, an RDBMS, from Software Publishing,
Santa Clara, Calif.; and XTree, from XTree, San Luis Obispo,
Calif.

Hardware that will be adapted for use with Windows for Workgroups
includes the MaynStream tape backup system, from Maynard
Electronics, Lake Mary, Fla., the EtherCombo, EtherPair and
EtherCoax Ethernet adapters from Accton Technology in Fremont,
Calif.; and Workgroup Chameleon, a TCP/IP package from NetManage
of New York City.

Though in its first commercial release, Windows for Workgroups
carries the version number 3.1, and versioning will be kept
synchronized with Windows, Weed said.

-------------
[PC Week; November 2, 1992; Page 8]
SUPPORT CONCERNS CLOUD WFW
By Amy Cortese
...
WFW--which offers simple E-mail and peer-to-peer file-sharing
capabilities, among other features--will be readily accessible
from retail outlets. Analysts and corporate users are concerned
that the network product's popularity could open up a Pandora's
box of support problems for LAN administrators and possibly for
Microsoft itself.
...

-------------
[Open Systems Today; November 2, 1992; Page 8]
LEGAL CHALLENGE OF WORKGROUP FOR WINDOWS [sic]

Novell executives have accused Microsoft of illegally using
Novell NetWare client functionality in Microsoft's new Windows
for Workgroups product. Microsoft, which paid Novell a licensing
fee to incorporate NetWare client functionality into its WIndows
software, has not obtained a similar license for WIndows for
Workgroups, according to John Edwards, executive vice president
of Novell's desktop systems group. However, Dwayne Walker,
general manager of enterprise network products at Microsoft,
claims that the company is covered by its Windows license.
"Windows for Workgroups is not a new operating system, it's just
a new version of WIndows," Walker said. "We're satisfied that our
license for WIndows covers this product as well." Responded
Novell's Edwards: "All I can say is that they have not licensed
our technology [for WIndows for Workgroups] and the matter is
under legal dispute." Novell has yet to seek a restraining order
against Microsoft, to prevent the Redmond, Wash., company from
selling its new product. "It's a scare tactic," Microsoft's
Walker said. "I think what you're seeing is that Novell is scared
of our product and is trying to instill fear and doubt [by
raising the licensing issue]. When competitive products come on
the market, you see some weird things happening."

-------------
[
	A personal view of WfW in use in my home.

Friday's mail brought me _Focus_on_Windows, and I saw the $69
price and got to thinking.  My wife's machine has only 8 megs of
memory so we've not yet installed her copy of the NT SDK beta.
However, we used to be running OS/2 2.0 with TCP/IP, and we
missed our peer-to-peer networking and printer sharing.
Seeing the $69 price we decided it was worth it, and would allow
us to put off the purchase of memory until next Spring.

Anyway, Saturday she ran down to Egghead and bought it off the shelf.
Within only 1/2 hour her machine was running WfW and was networked
with my machine (running NT).  This included the time it took to
work around a couple of NT bugs.  I mean this package is amazing
when it installs... it autodetected her SMC-8003/EP and did not
even need to be told IRQ's, ports, or addresses!

We then started playing around with it seeing how well it performs.
In all seriousness... on very small networks, a WfW station could be
used as a server.  Running apps off the WfW station on my NT machine,
I could not even tell I was remote. WfW is great!  I eagerly
await the next beta drop when NT will gain the schedule and
hearts programs.

WfW is fast, stable, and very easy to setup.
I wholeheartedly recommend it!
It is much easier to setup that OS/2 2.0 under TCP/IP, performs
better, and requires much less memory.
(OS/2 2.0 with TCP/IP base kit + NFS, runs rather slowly in only 8 megs.)

Anybody know how to go about making distributed apps for WfW?
I'm hoping that Win32s using the Win32 RPC is what needs to be
used, but I haven't received word yet.
]

-------------
[
	Using WfW with the October NT beta.

My "couple of NT bugs" actually seems to stem from the same
source... NT does not properly broadcast the shared resources,
and it does not seem to see the WfW broadcast, thus I'm betting
the protocol changed toward the time of the release of WfW.
Anyway... this is not a problem... in the File Manager or the
Printer Manager, where you add the shares, simply don't try to
use the Network Resource Browse facility to do the addition, but
rather just type in the share path directly.  For example to
get to the printer called Epson, on NT machine Brian, type in the
Print Manager on the WfW machine: \\Brian\Epson

If you forget and try to use the Browse facility in just the
Print Manager, you'll get a "Lan Manager internal error" and
you'll need to restart WfW.  This doesn't happen in the File
Manager... you just won't see any shares.

At the NT developers conference (where the <$500 NT list price was
first announced), Windows for Workgroups was listed as comming out 1Q93
and would have a list price of $350.  As WfW came out October '92 and
has a list price of ~$250, I can earnestly say to OS/2 fans that
believe NT won't be out till the second half of '93 and that the <$500
NT list price means it will cost $499.95...
"DO NOT BE ALARMED... BE VERY, VERY FRIGHTENED" (to quote Douglas Adams)! :-)
]

-------------
[
The following was passed to me by a Microsoft salesperson in response
to a request for more detailed information on Windows for Workgroups.
This was not intended as a public statement, but I got permission to
send it out provided I edited it in a manner appropriate for public
distribution (for example, remove attached e-mail addresses).

It came untitled, but "Inside Windows for Workgroups" might be good.
It provides a good technical overview of Windows for Workgroups..

Remember that it is not an official statement by Microsoft, and also
remember that in editing it, I may have introduced errors.
]

Overview

Microsoft's goal in creating WFW was to create a network product that
was easy -- easy to setup, easy to learn, and easy-to-use.  But easy
doesn't mean that the product was simple to create -- in fact, making
life easy on the user often makes things a lot more difficult on the
programmer.  Though there are literally dozens of features where we
overcame unique design challenges, there are four main areas where we
feel Microsoft has done some truly outstanding technical work with
Windows for Workgroups.  They are:

* Installation, including network adapter detection and the protocol
configuration engine.

* Product architecture, a state of the art 32-bit, pre-emptive,
multi-tasking solution.

* The WFW Name Service, a highly scalable design for browsing network
resources.

* Network DDE, an innovation in inter-process communication technology.

Installation

Often, the hardest part of getting networked is installing the
network!  WFW addresses this problem by minimizing the amount of work
required by the user, thanks to two key technologies -- the Microsoft
Net Card Detect Library and the WFW Protocol Configuration Engine.

Net Card Detection Library (NCD)

The NCD library is the result of over two years of effort.  Its purpose
is to determine the network adapter installed in the machine, and
minimize mistakes made by the user.  NCD uses several "high tech"
methods of determining the adapter and settings -- on EISA machines, it
queries the EISA configuration database, similarly, on PS/2s, it
queries the MCA registry.  But because there are millions of ISA
machines, NCD also uses a host of "low tech" tricks to assist the user
during install.

These tricks include scanning the system BIOS to look for unique
signatures and checksums, (this algorithm is effective on machines with
built-in adapters, like the Zenith Z-Note, and the DEC pc433), scanning
the peripheral's BIOS to look for similar information, (effective on
adapters with sophisticated BIOSes, like the WD and SMC lines), and
examining well known network card base I/O addresses by trying to set
NIC processors to specific well known states (effective on cards like
the 3Com family of adapters.)  All of these methods are potentially
dangerous, but NCD not only knows when to look for network adapters --
it knows when not to look.

For example, if the user has had another network successfully
installed, NCD knows how to read that information as well.  For
example, if LAN Manager is installed, Setup can take advantage of the
user's previous PROTOCOL.INI settings -- and if NetWare is installed,
NCD can "sniff out" an IPX.COM to determine what model driver is in use
-- thanks to many hours of reverse engineering skill.

No other networking product achieves a higher success rate in
determining which adapter is in your PC -- probably because no other
product even tries.

Protocol Configuration Engine (PCE)

In addition to configuring a network adapter, we took on the problem of
managing multiple protocols and NDIS drivers.  The NDIS architecture
itself is impressive, allowing WFW to support up to four NIC's per PC,
with four transport stacks per NIC, but we wanted to make the
management of protocols simple.

The Protocol Configuration Engine acts as kind of "coach" for the
user.  For example, during first time install, WFW will scan for free
IRQ values.  If the user attempts to set his or her net card up on an
IRQ that's in use, WFW will inform the user about the conflict.  Of
course, we provide the same basic assistance for users who try to set
two net cards up at the same base I/O address or shared memory
location.

But PCEs intelligence goes way beyond this basic level of protection.
It provides automatic assignment of LANAs during a multi-protocol
install -- and even knows when a transport requires exclusive use of
LANA 0.  And, PCE knows which networks require which protocols!  For
example, if a user installs, NetWare, PCE installs IPX automatically --
and won't let the user remove IPX, unless he confirms that NetWare
functionality is no longer required.

Finally, PCE allows us to build an intelligent PROTOCOL.INI
configuration tool.  It allows the user to fine tune a system with a
click of the mouse, rather than editing a series of text files by
hand.   PCE even knows intelligent defaults and legal values -- so it
won't let you set your NIC up on IRQ15 if your driver doesn't support
it.

Over time, we expect to take the base technology provided by PCE and
adapt it to the rest of Windows, so users won't need to edit SYSTEM.INI
as well.

Architecture

In building a new network, it made sense to take advantage of new
technologies.  That's why Windows for Workgroups fully exploits the
32-bit Windows Virtual Device Driver Architecture.  WFW is the first
product to bring full 32-bit technology to the aid of mainstream PC
users.  (Even IBM provides a 16 bit segmented redirector for OS/2 2.0,
so clearly, there's some high tech stuff going on in WFW.)  The
architecture of WFW allows for two key benefits:  an incredibly small
real mode footprint and exceptional performance.

Small Memory Footprint

The Windows for Workgroups networking VxDs (shown below) all run in
protect mode above the 1MB boundary, which means users can leave up to
620K for running MS-DOS applications.  Effectively, users can say
good-bye to the "DOS memory crunch" caused by first generation
networking software.

Note that "above the 1MB boundary" is a very different proposition from
"loading high".  Thanks to MS-DOS 5.0s ability to maximize use of the
HMA and UMB space, many networking products allow users to just squeeze
in a few extra drivers, by taking advantage of loadhigh and devicehigh
commands.  But the WFW VxDs get completely out of the way -- there's no
need to compute an optimal loadhigh arrangement, or struggle with a
foreign optimization process.

Performance

Of course, some of the VxDs themselves are pretty nifty.  While
customers want all the benefits of being networked, they don't want to
sacrifice any of the performance of their own PCs.  "Fast" performance
means more than raw network I/O throughput_it also means being able to
conduct normal computing operations while others are using your PC.
The VxD architecture lets Windows for Workgroups achieve its
performance goals.

First, VxDs employ flat model 32-bit code, which means we were able to
fully exploit the 386 instruction set; general network throughput is on
par with competitive products.  Second, unlike Windows applications
themselves, VxDs are pre-emptively scheduled, so users can continue to
work while the network operates in the background.

Of course, the specific VxDs have a few high tech tricks of their own.
VREDIR.386 is, quite simply, the best performing redirector that
Microsoft has ever shipped.  Its advanced caching technology and
patented locking algorithms provide a great speed boost to the user.

VSERVER.386 delivers superior server performance, but optimizes CPU
utilization as well, making sure that local operations can complete
without undue delay.  The server also has a unique throttling
architecture, which allows the user to control resource usage by just
adjusting the slider bar in control panel.

VBROWSE.386 controls the WFW Name Service, one of the products unique
features, described in more detail below.

VSHARE.386 is a second generation implementation of  SHARE, the code
which manages lock semantics.  All other products in this category
force the loading of a real mode TSR, which, in addition to requiring an
extra 10K of low memory, forced a reboot every time the number of
allowed locks needs to be changes.  VSHARE eliminates both of these
problems; the code is loaded high, and the lock ceiling is dynamically
re-sized as needed.

VNETBIOS.386 and VNB.386 provides the transport backbone of WFW.  In
addition to providing exceptional performance, these modules take
advantage of state of the art performance tuning techniques.  Transport
window size and timers are adjusted automatically, without user
intervention -- easing up on slow or congested nets and running full
out if bandwidth permits.

This impressive architecture delivers impressive results.


Name Service

Many networking products -- in fact, the vast majority of networking
products -- don't allow users to view all of the servers and all of the
shares on the network.  We desperately wanted to provide this
functionality, since browsing is a key feature in making a network
product easier to use.  However, most of the networking products that
provided this functionality were designed with severe restrictions on
their scalability.

For example, NetWare 3.11 uses SAP (Service Advertising Protocol) to
broadcast a packet every 60 seconds to announce the presence of a
server.  LAN Manager takes a similar tactic, by sending a mailslot
message every five minutes (although to its credit, the time period is
configurable.)  The problem with these approaches is that they don't
scale well -- we fully expect there to be installations with thousands
of WFW machines their network.  (In fact, Microsoft's own internal
network has more than 3,500 WFW machines.)

We responded to this challenge by building a completely automation name
service.  Traditional name services have been difficult to setup,
requiring a system administrator to install and designate "master
servers," "backup servers," and specify things like "replication time
periods."  WFW delivers a name service which is completely transparent
to users -- in fact, most users don't even suspect that a name service
is running on their network.

The WFW Name Service (also called "The Browser") is a tradition name
service in many respects.  There is a master server (called the "Browse
Master"), and of course, to distribute the load, there are backup
servers (called "Browse Backups").   The unique feature about WFWs
implementation is in how the master is chosen.

Though there are many subtleties, the basic principle is simple.  On
startup, a machine tries to tell the master that its name should be
added to the list.  If the master is up, all is well.  If the master
isn't up, WFW will run an election, where the most qualified machine is
chosen to become master.  (Qualified in this case means the machine
with the most up-to-date information.)

The name service, while simple in concept, was a tremendous technical
challenge.  (Perhaps that is why no other vendor has attempted to
deliver a similar solution.)  Like any distributed algorithm, there are
many boundary conditions that need to be thought through -- for
example, what happens if two machines are turned on at the exact same
time, or what happens if the network becomes partitioned because of a
router failure?  But we were unphased by the technical hurdles, and
succeeded in delivering a true innovation.


Network DDE

Customers have wanted the ability to work together on common projects
over the network for some time, and Windows for Workgroups takes them a
step closer with Network DDE and the Clipbook Viewer.  Previously, the
Dynamic Data Exchange (DDE) protocol allowed users to share information
between applications on the same machine.  We wanted Windows for
Workgroups to extend this idea and allow users to share information
across the network.

Applications are "blind" to file sharing -- a word processor doesn't
care if a file is on C:, my local hard drive, or X:, my network
server.  We strived to create the same sense of transparency with DDE.

DDE names are comprised of application|topic!item -- Network DDE names
use the same form, except that the machine name is appended to the
front -- \\machine\application|topic!item.  We implemented a Network
DDE redirector which is responsible for capturing DDE messages destined
for other machines and delivering them reliably.  The results were
amazing -- existing applications could establish links over the network
with no modifications.  Using the Clipbook Viewer for setting up links,
users can take advantage of basic Network Object Linking and Embedding
(OLE) functionality.

But the potential of Network DDE is much greater than this.  WFW gives
users a hint of what's possible by providing Chat and Hearts -- both of
which use Network DDE to communicate over the network.  But the true
potential of Network DDE hasn't even begun to be tapped.

Summary

Microsoft was extremely successful in delivering the Windows for
Workgroups product vision -- networking that was easy to set-up,
easy-to-learn, and easy-to-use.  In fact, we may have created the
illusion  that creating the product was easy.  I hope that by
highlighting some of the unique design challenges we faced and
conquered (set-up, architecture, name service, and network DDE), you
have a better feel for how user excellence and technical excellence go
hand-in-hand.

--------------

Brian
-- 
C. Brian Sturgill                   I strongly encourage you to mail your copy
University of Utah                     of Ross Perot's:  "United We Stand
Center for Software Science            How we can take back our country",
brian@cs.utah.edu; CIS: 70363,1373        to President-elect Clinton.
Xref: sparky comp.os.ms-windows.advocacy:2617 comp.sys.mac.advocacy:2564