Remarks by Brian Valentine
April 7, 1999, Los Angeles, CA
CARL STORK:And now it’s my pleasure to welcome another speaker to the Windows Hardware Engineering Conference. Brian Valentine has been with Microsoft for some 11 years, I believe. Most recently
— he had been, actually, the general manager of the Exchange Server Development Group, a project that he worked on for many, many years. And where I think he got a lot of empathy for the needs of large organization and enterprise customers.
Last fall, Brian took over the management of the Windows NT Development Group, now officially known as the Business and Enterprise Division. And in that job Brian is responsible for the development of the Windows 2000 product, in all its versions, and associated technologies.
Ladies and gentlemen, please join me in welcoming Brian Valentine.
MR. VALENTINE: Thank you, Carl.
Welcome. At the last couple of WinHECs we’ve stood up here and talked about Windows 2000. And I’m here to tell you about where we stand with that product, and exactly what the schedule is to a certain degree, what we’re delivering this year, and how to get on the train as the train is coming down the track with Windows 2000. We’re on track to ship it this year. And we’ve got programs starting up, and I want to make sure we’re all in synch on those programs, not only between the hardware community and Microsoft, but also the software community, ISVs and everything else.
So one of the first things I wanted to do in my talk today was take a step back and look at why we did Windows 2000, and what are the aspects of it, just to remind us real quickly about what we’ve done in Windows 2000, and how you can take advantage of that. But, then also talk about a lot of what we’ve done as far as reliability, as far as scalability, as far as being able to support new hardware platforms, new peripherals and things like that. And then last but not least, as Steve said, we’re all bowlers today in our bowling shirts, I get to talk to you a lot about, you know, all the physics and dynamics about how you make a 7-10 split, but I think it’s better if I just show you the 7-10 split. And we’ll do a bunch of demos. So we’ll jump right into this.
First of all, why did we do Windows 2000? Well, if we step back and look at what PCs were 10 years ago, and about since 1990, about the last 10 years, Windows 2000, there’s pieces of Windows 2000, like the Active Directory, that have evolved through the Exchange product at Microsoft, but have been in thoughts, or in people’s minds, or in design, or in development in one stage or another for the last eight to nine years, evolving through different product lines at Microsoft, and ending up in Windows 2000, there’s a lot of new innovation in Windows 2000.
Well, first of all, as we started out four years ago in earnest on Windows 2000, our customers were telling us, you know, it used to be that the 100 users per server, or 1000 users per server was a hot number. I was part of the LAN Manager project at Microsoft. And in 1990 I had a bet with the team that if they could support 100 high stress users on the 386 server I would swim the lake at Microsoft, which was a goose-infested lake, dressed in a woman’s bathing suit. And that was a really big deal to the team, to support 100 users on a server in 1990.
Well, now we’re talking about Hotmail-type scalability systems with many multiple, hundreds, millions of users on top of these boxes. And we have to scale up to that level. We have to have reliability in the system that moves beyond just the PC that sort of works most of the time, and doesn’t work some of the time, and that’s okay, into it’s got to run 7 by 24 by 365, all the time. We’ve really had to move into the connected world with Windows 2000. So when you take a close look at Windows 2000, we put a huge amount of effort into all the connectivity of the product. So now instead of having users or administrators dealing with remote access servers or dial in servers, which are separate from networking servers, which are separate from your standard connectivity, file and print servers, we’ve integrated all that together into better management tools, and to better end user experiences, so that the connected world or the Internet is just a natural extension of the operating system, as opposed to being something that’s glued on the side in previous releases of Windows NT or things like that.
Another thing we’ve tried to do is really bring scalability and reliability, and I’m going to talk a lot about that on a few slides here, about what that means and what we’ve done, and how you can participate in that, because our users have told us, look, PCs are still too hard. All right. It’s still too hard to set these enterprise systems up, it’s still too hard to manage these systems, and so what are you doing in Windows to make that a lot easier. In Windows 2000 we put a huge amount of investment in not only just reliability of the PC from a software standpoint, and partnering with hardware people to make that much better, but we’ve put a lot of effort into also adding software reliability into the system.
So they’ve demanded availability, they’ve demanded reliability, they’ve demanded scalability. And last but not least on the desktop, they’ve said, look, you know, PCs have moved from being kind of this high-end productivity work, this knowledge worker thing, to being a tool for the masses. So, not only are laptops super powerful today, but we’ve got form factors going in all different directions. You know, we want power management to work, we want plug-and-play to work. We want all that work, and we also want it Microsoft in a consistent platform.
So, when you come and talk to us as hardware vendors or peripheral vendors or IHVs, or you come and talk to us as software vendors, Microsoft would you please get your act together, and don’t talk to us with, I have to write a different device driver for a Windows 95 system, versus a different device driver for an NT 4 system, so get your architecture in place so that we’d have a consistent story to the hardware and peripheral vendors, and you’d have a consistent story to software vendors, such that I can develop an app once and it runs on your operating system platform, or I can develop a peripheral and a device driver or an add-on device, or a system that runs underneath your operating system, and I don’t have to reinvest in two different architectures, I don’t have to reinvest in two different platforms, get consistency in your platform. We’ve put a huge amount of effort into Windows 2000 to bring that forward, and that’s the platform we’re going to base future versions, whether it’s consumer-based operating systems or enterprise based operating systems on top of that consistent platform.
So, we’re going to get our act together with Windows 2000 and beyond on getting consistent across all of that. So, it’s been all aspects. If you look at Windows 2000, there have been major advances not only in the desktop side of the world, but also in the stand-alone server side of the world, but then also in the enterprise distributed application side of the world, that says, we need distributed systems, we need great business applications platforms, and you need to support the scale of the machines we’re building into those systems
For the last two WinHECs we’ve stood up here and talked about Windows 2000. It was a big project, it still is a big project. And I’ve got literally thousands of people working on that project today that are Microsoft employees. I’ve got almost 1,000 vendors at Microsoft developing device drivers that are housed at Microsoft. And then I’ve got a whole other wave that are housed at their own companies. There is just a huge industry investment, and a huge Microsoft investment going into Windows 2000. And it is a big project. It’s not a project that’s out of control. It’s not a project that’s too hard to get done, like some people would like to say. We’re on a glide path now to get it done this year, and we are going to get it done this year.
And so the message I want to deliver to you is, that it’s real, it’s here, and so it’s time to start looking at evaluations of the product, start looking at how you can get involved in the programs and the product, and start building the support we need around it.
You know, what we want to do with Windows 2000, starting in about three or four weeks is, we’re going to actually go out with beta three of Windows 2000, and have it running in production. So, we will have a whole set of customers, and I’ve got 50 of them lined up right now, that will start running Windows 2000 in large enterprise production systems. Microsoft is one of those, but there are 49 other companies that have signed up to start running the production by the end of this month. And that will be where we get a lot of feedback back. Well, I view as a great opportunity for you, with your customers who are doing that, and to get feedback on your Windows 2000 projects also as we roll through this year toward shipping the product this year.
The good news is, we’re on that glide path. Everything is feature complete. We have customers moving into production on it. We’re in that late stage of testing. There’s a large effort still going beyond that as far as getting it ready, but it’s going to get ready and we’re going to ship it this year.
If we look at Windows 2000 and what we’ve done from a quality standpoint, quality and reliability have been ‘Job 1’, if you want to call it that, in Windows 2000. We’ve put a huge investment in trying to make the system much more reliable. And we’ve gone magnitudes farther than NT 4 could ever go from an architecture standpoint, from a testing standpoint, and from a verification standpoint than we ever did with NT 4. One of the goals I have is that Windows 2000 must be significantly more reliable than NT 4 and NT 5 that’s shipping here in a little bit or we’re not going to ship it. So, quality and reliability and scalability are just fundamental goals in the product, and we just won’t deliver the product until it’s ready.
What does that mean? It means you’ve got to help us make it ready. So, wherever you can get involved in the program and help us do the testing and all the evaluations, jump on the bandwagon and get in there and help us do that.
What have we done? First of all, we have increased tremendously driver verification and tools. Where now we have a full test harness, our DDK is much better, we have nice samples as part of the DDK that are real working samples for different device classes. And we’ve done a huge amount of work in our verification tools, and we’ve also got code in the kernel that if we take a fatal fault in the driver, we will actually come up and start wrapping the driver that we know crashed around
— we will wrap it with verification tools and protection-type software that the next time the system crashes, we can do better diagnostics as to where it’s crashing and why it’s crashing as opposed to just give you blue screen after blue screen that doesn’t really give you much information. So, we can start doing software and driver fault isolations from within the kernel in Windows 2000, and make it a lot easier than if we have a problem driver in the system how we can identify where those problems are and quickly get diagnostics in place to deal with those problems.
The second thing we’ve got is a huge amount of driver verification tools. And the WHQL program, we’ve extended it and we’ve invested in it — we heard you from the standpoint of, we want more self-certification and those type of things, so the program is continuing to invest and make that a better program.
Another thing we’ve got in Windows 2000 is driver signatures, where the system will now be configured such that if you’re trying to install a driver that isn’t a signature signed driver that the system knows about, then the system won’t allow you to install that driver. So if a customer wants to build a trusted system that they know can only run signed drivers that have been through verification and testing and signed by the WHQL in the Microsoft program, they can build a system such that we will only allow drivers to install that have been signed and verified.
Another thing we’ve done is, we’ve heard from our customers that say, look, it’s way too hard, this whole service pack update thing you guys do to me, it’s really, really hard. In fact, if I go and install NT 4 today, what do I have to do, I can buy the CD, I install it, or I get an OEM machine with it running on it, and then I have to go apply service packs, and I have to go apply option packs, and I have to do all this kind of stuff, and it gets really hard, and it costs me a lot of money to do that, if you’re an enterprise customer.
What we’ve done with Windows 2000 is we’ve made it such that you can roll in service packs underneath an install tree. So, if you take and load up a server based install with Windows 2000, and we come out with Service Pack 1 or Service Pack 2, or whatever, you can roll that right underneath the install tree as the single set-up program that will install the next PC that you want to install with that service pack. So you can do roll-in updates and service packs.
And another thing we’re doing is, we’re walking away from having features be part of service packs. So, we’re going to get onto a regular service pack program that allows you to just have bug fixes installed on your machine, and you don’t have to pick up new features if you don’t want those new features. You can do an optional install and pull in some features, but you don’t have to do that. In the past, we’ve forced people to have to take features alone with bug fixes, and then it forces them to do a bunch of reevaluation, and they get real concerned about, moving backwards in quality on that system. And so, we’ve removed all of that from being a problem for the customer.
We’ve put a lot of work into our memory and feed management code in the system – actually, in NT 4, if you allocated a block of memory, we would allocate that block of memory from a page boundary and we would allocate it at the beginning of the page. So, if you were writing a device driver or if you were writing an application and you wrote past the end of your buffer, and you were scribbling on memory somewhere in the system, well, you may have scribbled on somebody else’s memory, and that thread, or that application, or that driver may not even be running. At that point, it may not even actually hit that memory for hours, days later, and then you’d take a crash at the time the corrupted memory was accessed as opposed to when the corrupted memory was created, when you overwrote the buffer. But we now do better allocations to allocate things at the end of pages, so that when you ask for 10 bytes, we give it to you at the end of a page, so that if you write to the 11th byte, and you overwrite your buffer, you’re going to take that fault immediately, typically in your test labs, as opposed to in a running environment, and you can isolate these problems, and these really hard data corruption, and these really hard memory corruption problems much easier in developing in Windows 2000.
Another thing we’ve done is System 32 lock down. You can lock it down, you can say applications cannot go and mess with my system files. And, in fact, if somebody goes and overrides a DLL, we have signed DLLs that are system files, and system DLLs are now signed DLLs, so when the system reboots, we will actually see that a DLL is trying to be loaded as a system DLL, it’s not a signed version, we will actually go get the signed version from DLL cache we have on the system. If it’s not there, we will get it off the CD or some server based install location. And we’ll repair the system at boot time if somebody’s gone and messed with system files that are not verified system files. So, we’ve put a ton of effort into making sure that the system can repair itself at boot-up time and execution time.
The other thing we’ve done is the same type of architecture for applications. So applications can now install on the system, and they can have separated application code from application data from user data, because one of the big features in Windows 2000 is IntelliMirror where you can have roving users. I can walk up to any machine and I can log-on to that machine with Windows 2000, and I can have the start menu customized just for me or my job function on a policy basis, or I can have my desktop customized, all my application data will rove with me. So I can rove around to any machine, and have all my environment just follow me.
Well, to be able to have that, to achieve that, you have to have support and applications for that, applications have to remove user data from system data or application data so that that can rove with the user without having the user force all the application information to move with them.
The other thing we’ve done is, we’ve done a lot of installer infrastructure for applications such that applications can take advantage of on-demand install. So, if I walk up to a machine and I log-on to a machine and I’m in the finance department and I need Microsoft Excel. Then when I click on an Excel spreadsheet that might be an attachment in an email, I can have Excel loaded automatically for me on that machine if it hasn’t been loaded already on that machine for me. So, it’s on-demand or first use install.
Also, we do application repair, so that if users go in and delete excel.exe or some DLL of the application, the installer service in Windows 2000 will notice that’s happened and reinstall those pieces for that application on the fly without having the user having to do anything. Whereas today in NT 4 or Windows 98, you’re basically back to reinstalling the application yourself as opposed to having the system repair it for you.
So, we’ve put a ton of effort in the quality not only at the device driver level, and the kernel level, but also at the application level with Windows 2000, just to make it
to move reliability and scalability and availability way up the spectrum.
If you look at Windows 2000 from a feature and functionality standpoint, across the board, whether it’s desktop, plug and play, power management, all the way up to 64-bit cluster server support, we’ve done a ton of investment all the way across that spectrum, and I’m not going to drill into that because it would take a full breakout session just to talk about all the features, but I encourage you to sit down and, depending upon what aspect of the system you care about, take a look at those features today, give us the feedback if you don’t think they’re adequate for what you’re trying to solve in your business problems, and where you’re trying to take your hardware or your company or your customers, and let us know that feedback today. But really we’ve put effort and investment into all different aspects.
You know, we have a hibernate mode in Windows 2000 now where when you close the lid on your PC, laptop, all your applications can still be running, you close the lid, we’ll save state to the hard drive, do a complete power down of the system. If you open up that laptop two weeks from now, push the power button, it will come out of hibernate state, and all the applications continue to run just as they were running when you shut the system down. You don’t have to stop your applications running on your PC when you go into hibernate mode, you don’t have to worry about plug-and-play devices across that. If you’re connected to a LAN you hibernate and you pop the net card out, and then you go and you want to go up offline because you’re on an airplane now, we’ll notice you’ve popped the hardware out, and we’ll just do a complete plug-and-play event on that, and take the network out of the system for you automatically. So, we’ve put a ton of effort in laptop and desktop support, all the way up to the high end server support. So there’s been a ton of investment in those areas.
When I sat down at the first of the year, on January 3rd or 4th, I met with the team, and I said, what are our four goals for 1999 to achieve in Microsoft Windows 2000? And I said, I’m a pretty simple person from a pretty small town, so I have four simple goals for us this year. So, if you ask Microsoft, what are the four goals this year around Windows 2000, they’re very simple, Goal Number One is S. All right, a simple goal. Goal Number Two is H. Goal Number Three is I. And depending upon your perspective, you can pick the next letter. I’m hoping you would say P, but that’s the four goals I gave the team this year. We’re focused on one and one thing only this year, and that’s to ship Windows 2000, and deliver a great product that meets not only your expectation as people who deal around the hardware of the PC industry, but also enterprise customer expectations, end user expectations, and software vendor and partner expectations. So, we’re on that path.
Beta three will ship in April. Like I said, that’s the release that goes in production at enterprise customer accounts. If you don’t have partnerships there, or your have enterprise accounts you want to partner with us on going in and running whatever we need to in production and pilot systems, we should be having those conversations today about that, not at the end of this summer, not in October, not in November. We should be having those conversations today about those joint customers we want to go into and make sure Windows 2000 with a combination of your products work in those solutions.
It’s feature complete today. We’re focusing 100 percent on quality, which is reliability, scalability, application compatibility, hardware compatibility, all of those type of things. So there’s a huge effort going on in those areas, and it’s just in the get it done stage now.
And last, but not least, we’re on track to ship it this year, but when people say, well, what day are you going to ship it this year, Brian. Well, I’m not going to give a day yet, because we’re just now starting down that last feedback stage. On April
9th, internal at Microsoft, we’re rolling the entire Redmond domain over to Windows 2000 from a log-on standpoint, from a domain standpoint, so that will be 9,000 users to get rolled into production on April 9 on to the system such that we can then roll into deployment in a production environment Windows 2000 inside Microsoft, and start rolling out business applications on top of it and everything else. We think we’re ready to that point with the system, but you know the real proof is in the pudding when you start running it in these production environments, and so will it ship in July, will it ship in August, September, October, you know, that’s not a date that I care that much about right now. What I care about is that we satisfy those customer requirements, and we’ve met those quality and deployment goals that our customers have around Windows, and then we’ll deliver it when they say it’s ready, when our partners say it’s ready, and when our IHVs and ISVs say it’s ready.
So, like I said, I can talk about seven-ten splits all I want, but let’s start showing you some bowling stuff here. I’d like to bring up Dave. Here he comes.
Dave, let’s go over here and show them the first demo. So, I walk over here, what we’ve got is, we don’t have Windows, we have a door. I’m walking over to Dave’s house, I hit the doorbell, Dave what are we going to see?
MR. DENHART: What you’re going to see is, you’re going to see a computer that is going to be waking up on demand from that doorbell being pressed. Now that computer is going to be essentially waking up, it’s going to be starting up the NetMeeting application. The NetMeeting application is going to turn around and communicate over a LAN to a second computer, and that second computer, when it comes up, will also be launching Net Meeting and establishing a session between them. So, what this is demonstrating is, we’ve got two computers, both of which are power managed, we’re got an Acer computer and a Compaq computer, and they’re both sleeping at this time. This is waking both of them up, and then it’s establishing a video and an audio data stream.
Now, in this particular case, we aren’t doing any audio, but we do have a video stream.
MR. VALENTINE: So, I walked up and hit the doorbell, we got our PCs that are asleep, we do a wake on LAN event, we bring up NetMeeting, and we can now have a camera here that is monitoring the front doors.
MR. DENHART: And you’re looking quite good today.
MR. VALENTINE: Okay. So, a simple example of power management in a different case, which is the laptop case, but a wake on LAN case where we can actually have video monitoring at the door.
MR. DENHART: Yes, wake on LAN and wake on ring.
MR. VALENTINE: Thanks, Dave.
Next, I kind of feel like one of these infomercial guys up here, so if I need to jump around and throw fire and gasoline on things, just tell me.
MS. WESTERINEN: We’re resetting.
MR. VALENTINE: I’m too early, we’re resetting. All right. So, do we want to move to the cluster demo next?
MS. WESTERINEN: We might want to move to the cluster demo.
MR. VALENTINE: All right. So, let’s bring up Boden.
MS. WESTERINEN: We can prep this one as Boden’s coming up.
MR. VALENTINE: All right. So what are we going to show?
MS. WESTERINEN : What we’re going to talk about here, as soon as this box resets, since I have a prototype of a program, it’s a proof of concept on how to manage a system, and sometimes when it just sits around and does nothing, it decides to do some debug asserts, so that’s why I’m resetting the box, so it goes more smoothly.
But what you’re going to see is, this is a Gadzooks hub, it’s a fiber channel up over a K-switch connected to CD drives that are sitting in some Xyrotech enclosures. And, it pretty much reflects the world of management today. You have all kinds of different devices with all kinds of different data, usually managed with custom apps that comes from the vendors. And how do you management of systems like that.
And so this demo is trying to talk about WMI, which is our Windows Management Instrumentation package, and CIM, the common information model that comes from the DMCS as a way to organization your data, that CIM, the object model, and WMI is the infrastructure that’s based on CIM that gives you a whole framework of terminology and a world in which to work to do management.
So, I’ll get this reset.
MR. VALENTINE: Okay. All right, Boden, let’s jump over
— I don’t have my clicker, I’m going to jump back. Why don’t you build up the client, the demo, and I’ll click over to your slide here.
MR. RACIBORSKI: We have to bring screen 11.
MR. VALENTINE: What we’ve got here is, we’ve got a four node cluster.
MR. RACIBORSKI: We’ll be talking a lot about RAS, reliability, availability, and scalability. In the next few days here, I want to show a demo on how Windows 200 can improve availability of applications and services. And here we have a four-node cluster running Windows 2000 Dallas Center, we use standard off-the-shelf components, we have four Compaq Prolient 6500 Servers, Compaq five-tiered disk array, and here on top two clients.
MR. VALENTINE: So, we’ve got two client PCs just in the rack for sake of completeness, four-node cluster, tiered disk arrays.
MR. RACIBORSKI: Yes.
MR. VALENTINE: Okay.
MR. RACIBORSKI: And the disk arrays are carved into three volumes, and here I will show the configuration. So one cluster has four-nodes, all nodes are up, and the cluster provides availability of applications. Applications can sail over from one node to another because they’re not associated with any particular node in the cluster, they’re associated with virtual servers. And virtual servers can move or sail over from any node to any node.
MR. VALENTINE: So, what you’ve got set up here is three virtual servers across four hardware nodes?
MR. RACIBORSKI: Yes.
MR. VALENTINE: Any of the hardware nodes could run one of the virtual servers. You’ve allocated them out today, but if one fails, the virtual server gets picked up by another.
MR. RACIBORSKI: Exactly. And you can see here, we have virtual server one on node one, virtual server two on node two, virtual server three on node three, and node four is used in this demo as a standby.
Virtual server one has its own identity, it has an IP address network name, and it’s configured as a site server, it has a file share. The same with virtual server two. And on virtual server three, we have an instance of IIS.
Now, we can go to the demo.
MR. VALENTINE: So we can show one of the client machines.
MR. RACIBORSKI: Yes, we have two client machines on both sides. On this client machine, we’ll run a video clip of the site server on virtual server one.
MR. VALENTINE: So, this user is running a video clip off of virtual server one that’s now running on node one.
MR. RACIBORSKI: Yes, and we’ll go to client two, and we’ll start two other clients. Another video clip, you’ll see it on the other screen, and if everything works fine, we should have an audio stream of IIS. So, we can see three clients running accessing three virtual servers hosted on nodes one, two and three. And now it’s time to simulate a failure, or maybe we’ll just go ahead and
MR. VALENTINE: So, node one number one is going to crash.
MR. RACIBORSKI: Yes.
MR. VALENTINE: All right. We’re going to bring down node number one.
MR. RACIBORSKI: A really bad day.
MR. VALENTINE: All right. Now alarms start going off, pagers start going off. People get called out of bed at three in the morning.
MR. RACIBORSKI: You see the video playback stop, and we have a node one failure. The application is not smart enough to recover from the failure, so what we have to do is restart the stream. We’ll wait until
— okay, the node is already
virtual server one is already online on node four, and all we have to do is restart the application, so the server is back on line.
MR. VALENTINE: So, what happened was node one crashed, virtual server one was automatically moved to node four, and now the application continues to work.
MR. RACIBORSKI: And here we can see we have all three services running. So, let’s
MR. VALENTINE: Shall we make it a really bad day and crash another one?
MR. RACIBORSKI: Yes.
MR. VALENTINE: All right. So, we’ll crash node two. So, we’ve had two node failures out of our four-node system now.
MR. RACIBORSKI: So, you see on the other screen, the other video clip stops. It takes about five seconds to detect a failure. You will see on another screen on the console that node two failed, the application failed again. We have to wait until the node two comes back on line
— virtual server two comes back on line on node four.
Okay, it’s back on line, we can restart this video clip. Okay, it’s back. And now the ultimate test, we’ll kill the third node.
MR. VALENTINE: Now we want to have a really, really bad day and have three of our four nodes fail. So we’ve killed the third node.
MR. RACIBORSKI: You can hear the audio stream playing from virtual server three, it has about a two-second buffer, so wait about two seconds. Here it is.
You can see on the console that node three failed, it failed over to node four. We can simply restart the audio, and the audio is playing back.
MR. VALENTINE: So we had thee applications running on three different nodes and a hot node back up. We killed all three nodes, those applications failed over, and now all three of our applications are running off of the fourth node.
MR. RACIBORSKI: Exactly. We survived three failures.
MR. VALENTINE: Three failures, which is a really bad day. So actually you’re not getting pages at 2:00 in the morning. You’re actually sleeping through the night now, because we have the four cluster fail over.
MR. RACIBORSKI: Thanks.
MR. VALENTINE: Thank you. Let’s take a look at our management stuff. What do we have here?
MS. WESTERINEN : Well, what we’re to describe is the components of your system. The CIM object model splits data logical and physical. The physical thing is anything you can touch. So what we’ve set this up for is like if we double click on NT systems, we see that you get manufacture data, model data, serial number data. Actually the Dell data is coming out of DMI, the hub and the switch data is coming out of SNMP, and then we have native SIM data where we’ve instrumented our operating system. And in one application we’ve combined all this data using WMI, the Windows Management Instrumentation, and what we call providers. And the providers pull the data out of sources. So if we click on something like the switch, we’re going to see the manufacturer, its model and serial number, and that’s coming out of SNMP. If we expand some of ht tree you’ll some of the data that we’ve instrumented in the operating system. We can tell you what our on board SCSI controllers are, our plug in cards, our two logic adapters that are running the cyber-channel, and that we have a whole bunch of physical drives attached in these cabinets.
Something that people sometimes want to know, if it’s really important to them, is what’s cabled to what. Right now most of the physical world you kind of code the data in manually. So we see here, and we did that, too, that we have a wire running from the Dell to the Gadzooks (sp), and we double click it, I can even tell you its manufacturer and that it happens to be a fiber optic cable, or that we have a wire running from the Xyratec (sp) to the Gadzooks. And that probably should be copper, I think.
MR. VALENTINE: I just want to thank Xyratec and Gadzooks for those names, because I use them when I play Scrabble with my kids, and they’re, like, awesome double word scores, let me tell you.
MS. WESTERINEN: Xs are worth a lot.
So what else can we look at.
Typically, when everything is running right, it tells you that you have Gadzooks, Brocade, and Dell fans, and what their status are. And for some reason, I don’t know what, it worked this morning. It’s not telling me those things now. Let me try something else. There’s data, on the switch out of our ports, how many frames, received, transmitted and coding errors, those are coming up out of SNMP. Let’s see if we can do something with the ports. See if
— this thing is not working.
MR. VALENTINE: What we can do here is we can actually have as part of the application a bitmap that’s actually a live bitmap that shows us the back plane, or shows us the front of the hub, or whatever. So we can actually see the configuration information, so we can see which ports actually have devices plugged into them, or cables plugged into them or whatever. And that’s part of the application we can dynamically change things around, and have an administration console that’s pulling information right out of the system.
MS. WESTERINEN: Right, but our problem is I didn’t reset this hub. And the hub seems to not be reporting its data. So we had a really cool demo, where you can pull things out and all this stuff, updated live, and I have to reset the hub in order to get that to work. I think that’s what the debug
were from. So this is actually going to get talked about and shown again tomorrow, in the 4:00 to 6:00 technology sessions on manageability. And we’ll have the hub reset by then. So you’ll be able to see events, and other data come up out of this.
MR. VALENTINE: All right. So it’s basically using the Windows management infrastructure interfaces to manage different devices, putting in cabling descriptions, managing storage arrays, all those types of things, built right into Windows 2000 now.
MS. WESTERINEN: And all the data is live, as long as the thing is still working.
MR. VALENTINE: Okay. Thank you.
MS. WESTERINEN: Thanks.
MR. VALENTINE: All right.
Now for our embedded NT demo. Let me click over here. There’s a couple of things I want to show you for embedded NT. The first thing is over here. And let’s have Tim come up and help us here.
MR. HILL : Hi, Brian.
MR. VALENTINE: How are you doing?
MR. HILL: Pretty good, thanks.
MR. VALENTINE: All right. So what have we got here?
MR. HILL: What we’ve got here is a small industrial PC. And that’s with the Windows NT embedded, plus some commercial real time software. And we’ve got an inverted pendulum, which is just sitting here free, idle, it’s got a small sensor at the bottom, and a little motor to drive it back and forward. And we’re just going to get a little balancing act going here with NT acting as a juggler.
MR. VALENTINE: So we’ve got an industrial PC, Windows NT embedded
MR. HILL: Correct.
MR. VALENTINE: Doing a control system type application, which happens to be a free swinging pendulum control thing.
MR. HILL: So I’ll just start it up and see how she goes.
Here we go, and
MR. VALENTINE: And what exactly is the application or the device doing here?
MR. HILL: What we’re seeing here is as the thing
— as the sensor detects that the pendulum is off balance, NT is picking that up, and then driving the motor back and forward, just to keep the thing in balance. It’s just a juggling act.
MR. VALENTINE: It’s a balancing act.
MR. HILL: It’s just a balancing act. It makes a marvelous executive toy.
MR. VALENTINE: But, it just runs for days, right? I mean, you can leave that in your office, you can walk in, you whack it, you know, it just keeps balance, it’s just awesome.
MR. HILL: Okay. We also have here a standard PC, this PC is a completely standard unit, except in this case we’ve booted off a CD-ROM. I have a CD-ROM here for those people who haven’t actually seen one before.
MR. VALENTINE: So we’ve got Windows NT is fully CD-ROM bootable?
MR. HILL: Fully CD-ROM bootable. All through the CD-ROM, you can boot embedded NT directly off the CD-ROM. And I can see it running here, in fact, if I just open my computer, here drive C is our CD-ROM. Here’s our NT directory, we’ve got some stuff in here. Everything is running pretty normally.
One of the things I can do, however, with this system, which is valuable, we call it the write filter driver. That allows us to make the CD-ROM essentially rewrite the system, so we can go in, I can pick a couple of files, and just happily delete those. Put them in the Recycle Bin, and go and look in the Recycle Bin, and empty that. Whatever I want, it’s actually completely normally, as if I had a read write system. But, obviously because this is a read only system, these writes have been cached temporarily in RAM. When I come to reboot the system, everything will fall back down to our standard system. So if you’ve got a new machine, you have a fault tolerant boot on, you just fall back to square one again, anytime you reboot.
MR. VALENTINE: All right.
MR. HILL: I also have here a small box, here, which is also running Windows NT embedded. This is a PC-104 platform, running Windows NT embedded with routing and RAS on it. I can connect to that. Granted, it’s headless, there’s no keyboard, no mouse, no VGA. So to connect to it I’m going to use Telnet.
MR. VALENTINE: This is built with off the shelf parts.
MR. HILL: This is off the shelf, PC-104 cards, two nets in here, no VGA, no legacy I/O. We’re running headless so I’m going to use Telnet to connect to the unit, although we can actually use serial, or we can use modem connections if you want to. So I can just lot in here. This actually uses NT secure log on. And here we have a normal log on prompt, so you can see if actually I look here we have a footprint right about 30 megabytes to the entire system, including all the services we’re running. And, in fact, on this system we’re running not only a fair number of services, including routing and RAS. So we’ve got a full router running, we can look at, say, the interface is here, we’ve got a couple of net cards, and we can look at the route table. And sure enough, everything is routed through the system. Again, running a small box, it’s completely headless. I can do normal NT operations, add to the system, administrator of user, or if I decide I don’t like you, well sorry, Brian, you’re gone.
MR. VALENTINE: All right. So processor card, two net cards, kind of the world’s smallest router, right.
MR. HILL: World’s smallest router, running NT embedded.
MR. VALENTINE: All right. Well, thank you.
MR. HILL: You’re welcome.
MR. VALENTINE: All right. So, with NT embedded, not only can you be running the standard operating system on top of this device, but then you get all the application support that comes with that, so if there are specific applications that somebody happens to do, that’s appropriate for that small box, you can load those applications and run them on there. And the matter of configuring up the operating system and running that box is running a Windows-based configuration UI. Then you just load it up on the system. You can burn it into whatever you want to burn it in, flash it into whatever. That’s the application. And run NT embedded in these systems, and get a standard operating system platform within those embedded devices. So that’s what I wanted to show you today.
We’ve got the ability to do power management and wake up on LANs type devices. So it’s not only power management uses applicable in laptops, but also into those type of devices. We’ve got a bunch of management or hardware type management, systems type management — besides that, not only application and software management, but hardware cabling management stuff with WMI and Windows 2000. The four node clustering stuff is part of the data center of Windows 2000, and then the NT embedded is for embedded systems that can go, you know, down into smaller systems, or all the way up into larger type systems, whether they’re network devices, control devices, or whatever.
So in closing, four goals this year, S-H-I-P, we’re going to ship Windows 2000 this year. We can’t do it without you, right. I mean, we need your support not only in the hardware area, but also in telling us whether Windows 2000 is ready or not. So I encourage you, in a big way, that take your CD you get today, or with your kit, if you signed your NDA, or take beta three when you get it in just a few weeks, and go start your evaluations, go start your development, go start your pilots, go start, you know, whatever you need to do to get ready for the train, because the train is coming this year. And be there and be prepared, so that as we
— you know, as customers start deploying Windows 2000 they can start deploying your solutions with that, also.
And last but not least, we put a huge amount of effort in reliability, availability, scalability of the system, we can’t do it without hardware support also. So I encourage you to get your drivers through our WHQL labs. If you haven’t done that already, get your devices through there, get your certification in place. If you’re developing drivers get them signed, and basically it’s going to take a combination of Microsoft with the operating system, a combination of you folks with hardware and other devices, and a combination of software developers, and we’ve got huge programs going in place around Windows 2000 to improve that, to really move the industry forward from a reliability standpoint.
And we can’t just do it in the operating system, and you can’t just do it with hardware, it’s going to take partnerships across that, and so we’re signing up and we’re committing to continue with that huge investment that we made in Windows 2000, and we’re just going to continue to make it better, beyond Windows 2000, and build on those partnerships. So that’s one of the messages I wanted you to leave here today is, jump on that train, and get on that Windows 2000 bandwagon, because it’s coming and we’re ready to start working with you on those partnerships.
So thank you.
And I think we’re at break time now, until 10:30. So we’ll see you back here right after the break.
(End of session.)