Slashdot Mirror


Microsoft's Vision For Future Operating Systems

Bender writes: "The Systems and Networking group at Microsoft Research has a fascinating article that details what sorts of things they believe may be important in Operating Systems of the 21st century."

20 of 555 comments (clear)

  1. /.'s MS icon has never seemed more appropriate... by ncc74656 · · Score: 4, Funny
    From the bullet list of the researchers' goals:
    Self-configuration. New machines, network links, and resources should be automatically assimilated.
    --
    20 January 2017: the End of an Error.
  2. They really do want us all!!! by EvilStein · · Score: 3, Funny

    The article actually says that one of the goals is "Self-configuration. New machines, network links, and resources should be automatically assimilated."

    Translated: "Microsoft will take over every machine you put your filthy little hands on. Nyah!"

    And it gets worse... "The administrator inserts a Millennium installation DVD disk into one of the machines and the system propagates across the network. After evaluating the network topology and hardware resources, Millennium might suggest that one of the more powerful machines (a "server") be moved to a different network location for best performance."

    Translated: "Windows Millenium will infest your entire network whether you like it or not. Then, it will hunt out the Linux machines and demand that it be installed on those as well."

    Now if those aren't goals of a company that plans on taking over the universe, I don't know what are....

  3. Old article by Wesley+Felter · · Score: 3, Informative

    That article is so old the project is over already. Still interesting to think about, though.

    1. Re:Old article by darkonc · · Score: 3, Informative
      No. C# was designed to replace Java. Java was designed to meet some of those goals. C# just inhereted some of these capabilities from it's prequel.

      As to why it's not mentioned, this article pre-dates the need for C#. Sun's suit against Microsoft wasn't that advanced in early-mid '97.

      --
      Sometimes boldness is in fashion. Sometimes only the brave will be bold.
  4. ack by Frizzled · · Score: 3, Interesting

    ... so that individual computers, file systems, and networks become unimportant to most computations in the same way that processor registers, disk sectors, and physical pages are today.


    so they want to turn their entire user-base into an application? (bear with me) ... MS must get sick and tired of "borg" references, but this appears a tad too close to the mark.

    it seems the only way you could have this level of hands-off "use-ability" would be to have complete control of all aspects of the hardware and enviroments your software is running under ... (simple if everyone was using a microsoft computer and held a microsoft job).

    this seems like a huge step in the wrong direction. if we move to a level of abstraction devoid of details, how can we possibly innovate and improve?

    _f

    1. Re:ack by Arandir · · Score: 3, Insightful

      Actually, I like this idea. Why? Because that's what Unix is to the end user. The sysadmin has to worry about individual computers, file systems and networks, but the end user does not need to.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    2. Re:ack by Salamander · · Score: 3, Informative
      I'm glad I wasnt the only one thinking Freenet all the way through reading that article....strange it didnt get a credit - it already does pretty much all the data side of what they were talking about

      Oh, bullshit. The paper specifically talks about data remaining in the system until it's no longer needed or referenced; Freenet drops data whenever it feels like it. The paper talks about making storage hierarchies invisible; Freenet as currently implemented is totally non-transparent, requiring a user to explicitly download a file in the Freenet app and then operate on it in another app. Freenet's primary goal is to obscure the identities of requesters and responders - information that will most definitely be necessary to keep a general-purpose distributed OS secure.

      There's nothing wrong with the fact that Freenet is this way. Those are its design goals, and they're valid ones. It's just not at all related to what the Millennium folks lay out. Continuing to push Freenet as the solution to every problem when it's really only a solution for an extremely narrow range of problems just makes Freenet advocates look like fools.

      --
      Slashdot - News for Herds. Stuff that Splatters.
  5. define irony by StandardDeviant · · Score: 3, Funny

    Anyone taken a close look at that address, in light of recent behavior by MS?

    Microsoft [Unit]

    One Microsoft Way

    Redmond WA

    ("My way or the highway"-reminiscent)

  6. Developers - stop bashing and start coding by Blue+Neon+Head · · Score: 5, Insightful

    There are some sound ideas here for future directions in Linux development - and they've already been thought up for you here.

    One big problem Linux development will face is the notion that devs are playing catch-up with MS with projects like Mono. (We blast Microsoft for its claim that it is an innovator, but has there been much innovation in Linux kernel devlelopment lately?) Instead of trying to build a Windows clone, we should build up a system that addresses computing in a way that MS system's dont.

  7. Latency is a killer by cperciva · · Score: 3, Insightful

    There are some good ideas here, but they seem to disregard the problem of latency. The speed of light, unfortunately, isn't likely to be overcome any time soon, and people notice when there is a 50ms delay every time they press a key, move their mouse, etc.

    Some applications can be distributed, sure, but there will always be a need for interactive applications to run locally, on local data.

    1. Re:Latency is a killer by franimal · · Score: 3, Insightful
      I agree. But I can think of a few ways around it:
      • As storage space increases at a disproportionate rate to bandwidth. We can make use of that by being proactive with bandwidth use and trying to do some pre-fetching like processors do now.

        Say for instance there are a few guys on your block that really love to read slashdot. Now say that slashdot is distributed. You go and download a page. Instead of downloading just that one page ... you might pre-fetch a few more while you read it (like any links on the page ... especially if other /.ers have clicked 'em).

        In addition, if one of those other /.ers on you block decided to read up on the latest nerd news his local machine wouldn't have to go very far to get it.. thus reducing the latency. You'd end up with your block being your very own slashdot server with the people who access it the most storing most of the content.

        Take it even further and imagine your block as a little 'group' that's trying to grab all kinds of information that it thinks it's users will like and shuffling it to those most likely to want to see it.

      • Lets say you'd really like Max Payne if the bad guys weren't so damn dumb. How to make them more realistic with the limited processing power you have locally? How about using some cycles from your neighbors computer to make the AI think and learn better. Beyond that, how about analyzing data on the play of all the owners of Max Payne and making general improvement to the AI?

        Well, granted you could end up with AI that's pretty much unbeatable but you could dumb that down and just be left with an AI that can do something different every time!

      Now I'm gonna go out on a limb here and say that there a one or two small barriers to this happening tomorrow. But I think it could be cool. Maybe. I'm glad somebody smarter than I is researching it.

      And oh yeah. The speed of light is getting kinda fuzzier every day. For instance if you shine some light through some cesium atoms under the right conditions and it'll come out the other side faster than the speed of light. ... Who knows what'll be around in another 30 year?

    2. Re:Latency is a killer by WolfWithoutAClause · · Score: 3, Insightful

      You won't notice 50ms in anything but the most demanding applications. For Voice Over IP, its basically OK. A Quake III ping time of 50ms is basically not noticeable, and few things are more demanding than that.

      To put this into context. In a fiber, light goes about 150km per millisecond- it can go from the UK to Canada and back again in ~40 ms; although ping times are often closer to 100ms due to delays in routers and suchlike (there's probably no reason that those extra delays can't be made arbitrarily small).

      >Some applications can be distributed, sure, but there will always be a need for interactive
      >applications to run locally, on local data.

      Yeah, sure. Where local means anywhere within a thousand klicks or so.

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
    3. Re:Latency is a killer by Salamander · · Score: 3, Insightful
      There are some good ideas here, but they seem to disregard the problem of latency.

      While it's nice to see people recognizing the importance of latency, you're way off base. First, I can assure you that the authors are not unaware of the problems of latency. They might not have spent a lot of time delving into technical details in that blue-sky paper, but I've met two of them and they are very cognizant of these issues.

      On a more technical note, I ask you to consider how the problems of latency might be avoided or reduced. Someone else already beat me to the mention of trading storage for latency, caching data in multiple locations. I know a little bit about that, but I don't think the point needs to be belabored. Also, there's the flexibility gained by moving computation nearer to data (or other resources) via mobile code. Sometimes that can be a really big win, as various Java applets have demonstrated.

      There will always be some cases where latency continues to plague us, no matter what tricks we throw at it, but those will be relatively few. It's just like managing caches, or memory access in NUMA architectures; some people will get down and dirty to wrestle with the details and wring out the last drop of performance, but the vast majority won't need to care because functionally the memory all acts the same. Right now, everyone has to care very much about location on a network, not just for performance but for functional reasons as well. If we abstract some of that away and do a reasonable job of implementing the abstraction, we won't see so many people implementing crappy messaging layers with broken security just because the structure of the system forces them into it even though it's not their forte. Some people will still "step behind the curtain" but they'll be few and far between.

      --
      Slashdot - News for Herds. Stuff that Splatters.
  8. Operating systems should go away. by chazR · · Score: 3, Insightful
    The 'Conventional Wisdom' is that operating systems should do *exactly* three things.

    Manage memory

    Manage CPU time (schedule processes)

    Manage access to hardware

    And that's what an operating system *kernel* does.

    Operating systems do not need to:

    provide compilers, web browsers, colossal text editors (MS Word and emacs included)

    inform users of the *really* important reasons they need to upgrade *now*

    do GUI shit.

    If you use a computer, you want it to do what you want. Most of the time, you want it to help you manage information. Most users don't even know that their computer *has* an operating system. Most users know that it's a really useful typewriter with an 'undo' facility.

    What OS does your fridge run? your car? your microwave oven? your alarm system?

    Those are all von Neumann machines, running operating systems.

    A computer in a home/business environment should be useful, usable and reliable.

    Get this. It's important. The people who buy computers couldn't give a flying fuck about the OS. Some want 'applications'. Those people are called 'IT managers'. Most want information. They are called 'people'.

    I do *not* want my dishwasher to stop with a message of "Oops in module handle_detergent. Please run ksymoops and report to lkml". I don't want my television to go blue with advice to 'set CRASHDEBUG' for some purpose.

    If you know that you are running an operating system, you are either an OS hacker, or the OS hackers have failed to protect you from their work.

  9. Please read the paper before posting. It's short. by Dirtside · · Score: 4, Insightful

    I really do hope that people read the entire paper before posting their thoughts about it. I hate Microsoft with a passion -- my first thought upon hearing about the WTC attack was, "Those poor people! I sure hope Bill Gates was in there." -- but the points they've raised here are valid ones and deserve analysis. The topic is an important one and I hope people will not malign it because of the source, namely, Microsoft.

    That said, I'll comment on the paper itself. They have a point, somewhat understated, which is basically, "Yeah, this may be crazy, but it's worth looking into, isn't it?" One obvious response is that it sure seems to be What Microsoft Wants in terms of a homogenized global system that Microsoft controls. Though such a thing is never specifically said, it is called the "Millennium" system, and the ME in Windows ME stands for "Millennium Edition" (side note, it just occurred to me that "Windows ME" could be said with the same tone, inflection, and connotation as "Fuck me!" as an expression of dismay -- "Go Windows yourself!").

    Well, who knows, but their idea of a transparent large-scale network that is self-managing as they've described is an interesting one, and there are some things that would be appropriate in such a system. That said, here's several reasons why I think such a system will not happen in the near future:

    1. Too much resistance. This *is* a crazy idea, and even if it could be made to work, most people are used to the idea of "my" computer, "my" data, and everything happening physically *here*, inside this little box under my desk. This will take a long time to get over. Perhaps a gentle transition would help, with more and more things gradually shifting to the Big Network.

    2. Games. Games require zero latency - nobody enjoys playing Quake with network lag, let alone system lag. All computations for games and other time-sensitive applications would have to be done pretty much within the physical computer you are using, otherwise the latencies are too great and the game would be unplayable and chunky. Imagine if your 50ms ping time also figured into the video processing!

    3. Security. It seems silly to assume people would *want* to walk up to a random machine somewhere and have all their documents streamed to it over the Big Network. For one thing, who knows whether the terminal is secure, or if it's got secret programs installed in it to capture your keystrokes? Using a publicly accessible terminal to get to your private data is a bad idea. Also, critical machines (computers that run public infrastructure, banking systems, military systems, etc.) should obviously not be any part of this kind of transparent system, for the obvious security reasons.

    4. Where we work. Telecommuting is, for all the cheerleading, not very common at all. When people do regular business-like work (i.e. office workers writing reports, having meetings, doing whatever) they will want to have everything in the same place, and do it in big chunks at a time. Face-to-face communication with people is also very important to the way business is usually done, though this may change as people get more used to the idea of telecommunicating for business. Being able to "walk up to a computer anywhere" and do work is pointless, because the vast majority of people are not going to WANT to be walking through the mall, window shopping, and decide they need to do some work, so go sit down at a public terminal and start doing work. (Nevermind the security issues, mentioned above.)

    5. Monoculture. If we think a Windows monoculture is bad now (and we do -- at least, I do), imagine what happens when every computer in the world is now running this system! On the other hand, if such a system was designed so that anyone could implement their own version of it, then you avoid some monoculture issues, but because you have to have interoperability between the systems, you essentially end up with what we have now -- the Internet, made of multiple differing systems that can still communicate using a common protocol, except the protocol would extend beyond data transfer and into things like distributed processing.

    If you've managed to read this far, congratulations! I can recommend a decent novel that incidentally covers this topic (it is not the main focus of the plot, but does figure into it): Permutation City, by Greg Egan. A very good novel with lots of interesting ideas, but it does feature a worldwide network in which you can basically bid on processing power to draw from the global network, so your programs might be running anywhere in the world, but are running securely so that a computer doesn't really know what it's doing, it just executes commands. It doesn't go into much technical detail (like how they manage to have computers execute encrypted code without decrypting it), but it's relevant nonetheless.

    --
    "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
  10. The next generation of application.... by ajs · · Score: 4, Funny
    • Seamless distribution. The system should determine where computations execute or data resides, moving them dynamically as necessary.
      **FLASH**
      Redmond, WA -- Today a new computer clone (see "When Did We Stop Calling Them Virii") was released today by the hacker group, "Girls Just Wanna Have Fun". As is now typical of clones, it spreads by convincing millions of desktops around the world that it should be moved onto their processors for milliseconds at a time....
    • Worldwide scalability. Logically there should be only one system, although at any one time it may be partitioned into many pieces.
      ...researcher at M.I.T. says that it's nearly impossible to stop "She Bop", due in part to the fact that it's not technically "spreading", so much as it's simply "running"...
    • Fault-tolerance. The system should transparently handle failures or removal of machines, network links, and other resources without loss of data or functionality.
      ...even the most drastic measures have been discarded as impractical. Said one security expert, "if you took down all of the computers in the world but one, it would remain on that one last computer, until the rest were back up."...
    • Self-tuning. The system should be able to reason about its computations and resources, allocating, replicating, and moving computations and data to optimize its own performance, resource usage, and fault-tolerance.
      ...The effects of this clone seem to be somewhat benign. For the most part, it just convinces the systems that it runs on that they should run all of the normal programs on Department of Energy systems instead...
    • Self-configuration. New machines, network links, and resources should be automatically assimilated.
      ...One negative impact, however is that the last vestiges of the "open source" operating system networks in foreign countries (they are illegal, here in the U.S.) are being starved for network bandwidth because of what authorities are calling "quality of service feedback noise" which is apparently convincing all major "backbone" carriers (Sprint, AOL/AT&T and McDonalds/Worldcom) that they need to set asside more and more resources for upcoming games of MMHearts (Microsoft's hit game from last year, which combines massively multiplayer games with the most used program of all time)....
    • Security. Although a single system image is presented, data and computations may be in many different trust domains, with different rights and capabilities available to different security principals.
      ...In response to this latest event, the Justice department has said that they may petition the NSA for a copy of the Microsoft U.S. Trust Key, which would give the department ultimate control over all deployed operating systems. When asked if this was a temporary measure, Dr. Reno, III responded, "I can't see why we could need to use the key again, but it would probably be prudent of us to keep it for now...
    • Resource controls. Both providers and consumers may explicitly manage the use of resources belonging to different trust domains. For instance, while some people might be content to allow their data and computations to use any resources available anywhere, some companies might choose, for instance, not to store or compute their year-end financial statement on their competitor?s machines.
      What!? You thought I could come up with a witty way to make fun of that statement?! I'm not a magician!
    Yep, this'll be fun. Where do I buy the popcorn?
  11. Re:stupid people will require stupid OS's by kilgore_47 · · Score: 3, Insightful

    the most important thing when it comes to new OS's will be ease of use. for all the idiots out there. thats for it to be succesful anyways, not neccesarily good.

    In response to a lengthy descrption of a drastically different computing paradigm, jimarndt responds that it should be 'easy to use'.
    I'll bet jimarndt didn't read the article at all.

    What Microsoft Research is sugesting is a network computing model unlike anything I've previously heard of.

    Read this (from the article):
    A user purchases and installs a new personal computer or workstation. The hardware vendor has done a good job with the cables and connectors, so plugging the system together is easy. The user plugs the power and network cables into the wall and flips the power switch. From the moment that a boot ROM, or perhaps a boot loader on disk, downloads code from the network, the new machine joins the Millennium system. The user has full access to Millennium with no human-managed configuration activities required. Millennium evaluates the hardware resources of the new computing device that it has acquired and starts to shift computations and data in response.

    Wow! I'm all for a web-services model. I like the idea of having the line between an application and a really usefull website be blurred. But this is sugesting something much much more! Who controls the "Millennium" system? Obviously, they've got a certain company in mind.

    Think about privacy on a system like this!

    Think about the potential security risk (sure, security is on their list of goals, but that doesn't really make the problem go away!) on a system like this! In the "A new network" example, the reseachers say "The administrator inserts a Millennium installation DVD disk into one of the machines and the system propagates across the network." Imagine that I insert that dvd, only I'm not the administrator and the dvd isn't the system update. Think it won't happen? As we saw during CodeRed the windows update servers aren't even properly protected! Hackers would have a field day if the Milenium system were ever made a reality.

    I think a much better paradigm for the "new millenium" (how long does it stay new? ;-) is to make more web-services and make them with better web standards. That way everyone has access to them regardless of OS. Also, they should be spread out over many companies.

    Microsoft wants the end-users of the world to put all their eggs in one basket and I don't think thats a good idea.

    --
    ___
    The way to see by faith is to shut the eye of reason. --Ben Franklin
  12. Interesting Stuff by maggard · · Score: 3, Insightful
    While the paper isn't particularly original in it's parts the breadth is impressive. It's a well written, thoughtful piece outlining a smart, adaptable, robust, future computing environment. What makes it notable is that the folks writing it have the resources to actually get underway and aren't simply blue-sky theorizers.

    Unfortunately coming from Microsoft most /.'ers will prefer to scream and whine about it, attempt to twist it to demonstrate their own particular MS issue or make more jokes that are usually weak at best.

    Pity, because if this had appeared elsewhere without any MS connection folks would be talking about it in a positive way, taking the discussion someplace interesting. Instead most are just blinded by the name MS and have once again congregated for the ritual stoning.

    Anyway, /.-correctness aside there are a couple of points that the paper glosses over (amongst many) that I find particularly interesting:

    The first is the concept of stateless storage - files are there as long as you need them then eventually wither away when no longer referenced or required. This seems to me a particularly utopian view as I'm regularly realizing that I'm either missing a note I want from long ago (too aggressive purging) or that I've got so much material on something that it's becoming burdensome. I entirely fail to imagine how this sort of winnowing could be automated. Agents to help me organize, tag, and prioritize yes, but without my interaction it strikes me as likely reliable as a computer consistently recognizing pr0n images from others.

    The next is the internal intelligence of a system. This has been an area of much research for many years. The current-state information should be almost all available from within the system and with a few supplied metrics (costs, resources, constraints, priorities) "intelligent" decisions should be possible to make. Surprisingly there seems to be little of this actually available on the market already, at least not much available for general server/desktop management (that I've heard of.)

    Finally the lack of references to directory services and the role PKI/encryption would play in this future scenario is interesting. Clearly these will be key elements in the ubiquitous seamless environment the authors are talking about yet their mention is notably absent. Is this a reflection of MS's appreciation of these as areas of strategic importance in which is hasn't yet a firm foundation and doesn't wish to draw attention to or is it something that the authors think will be so established by the time they're envisioning explicit reference isn't necessary? Either way it's an interesting omission.

    --
    I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
  13. Is this really all that bad? by Captain_Frisk · · Score: 3, Insightful

    Come on guys, you've all seen Star Trek. Do you think the Enterprises computer system is much different? You don't see anyone in there with a PC.

    These guys were really looking forward to the future. And I don't think the standard MS bashing applies. Not everyone who works in Redmond behaves like MS's business unit.

    I'm sure for the most part, the coders are great people. Its the business men upstairs who we should really have beef with.

    Seriously folks, can't you see that indicriminate MS hatred is d no different from other forms of bigotry like racism and homophobia? MS does put out some quality products. I'm told their games group is very good (Age of Empires) and their input devices are top notch.

    Captain_Frisk... wishing everyone would think before flaming.

  14. Nothing new here, move along... by alienmole · · Score: 3, Insightful
    "Yeah, this may be crazy, but it's worth looking into, isn't it?"

    There is absolutely nothing being said in this paper that hasn't already been discussed countless times in universities and research labs around the country. This paper is little more than a vision statement along the lines of the phrase that Microsoft has used for much of its lifespan: "a computer on every desk and in every home". It doesn't say anything that people haven't already thought of.

    What's more relevant and interesting about this paper is that there are probably no organizations on the planet capable of developing a system like this on their own. It's going to have to be collaborative. Despite the me-tooism of Microsoft researchers in acknowledging the directions being taken by others, the Microsoft coders in the trenches won't be capable of developing something like this to be stable, reliable, and secure.

    This may mean it won't happen in the way envisioned in this paper. Microsoft will have to wait until someone comes along and figures out how to actually do something new, and viable - not just talk about it - just as Tim Berners Lee et al created the web. Then they'll try to embrace and extend it, if they can.