The Network Computer - May It Rest In Peace
BSTRACT
It is time to declare Network Computer (NC) dead. Personal Computer (PC) will be the dominate force in future corporate and home computing.INTRODUCTION
When Oracle's CEO Larry Ellison announced early this year that his company had built a $500 network computer, he triggered a media frenzy that sent ripples of confusion, excitement, and even fear throughout the entire PC industry. "I believe that the dominance of the PC will prove to be a temporary transitional phase in the information age, not unlike steam power in the industrial age," he said in a speech to the Commonwealth Club of California. "The era of the PC is almost over, and the era of the NC is about to begin." (Croft) Although Ellison claims later in the same speech that Oracle's NC will not replace PCs, his statements about a network computing model in which all computing intelligence is derived from the Internet and everything hooked to it and is accessed through a cheap network appliance have made us pause to think about the fate of our current systems. After analyzing numerous articles, reviews, reports and summaries from many companies, we believe that NC will introduce costly incompatibilities and result in customers losing the flexibility and choice which the PC platform offers. On the contrary, our old friend, the PC will be able to play an important role in future corporate and home computing. In this paper, we will discuss the origin of NC, the nature of Network Computing, the difference between NC and PC, the Java Virtual machine, and why "it is time to declare NC dead."THE ORIGIN OF NC
Oracle's trademarked Network Computer is without a doubt the most highly visible net appliance to emerge from the flurry of network computing hype. The concept of NC is a dirt-cheap computer that discards today's overweight Operating Systems (Oses) and bloated, platform-specific applications. Instead, it runs a microkernel OS and platform-independent software written in an interpreted language such as Sun's Java. Monolithic, kitchen-sink applications that give way to component-based programs and applets that you download from a network or the Internet only when you need them. In theory, you could do almost anything with an NC that you do with a PC, except it will cost you a lot less for the hardware and software. Connectivity costs, however, may be significant. (Oracle Corporation) The final NC as we see today is the direct result of the alliance against Microsoft-Intel (Windows-Intel or Wintel) monopoly. The alliance includes many big corporations like Sun Microsystems, Netscape, Oracle, IBM and Apple. They want to develop NC as a new weapon to break up the Wintel monopoly and promote their own products. The debate over NCs has led to much loose talk about the destruction of Microsoft. Will NC be the killer of Microsoft? The answer is No. Microsoft has always been known as the best follower in software industry. They do not invent, they borrow. For example, the idea of Microsoft Windows was borrowed from the Mac Graphical User Interface (GUI) platform to get rid of the ugly DOS, yet it became the best selling software in the whole world. As they did before, they refine the idea of NC and fight back right away. "Our strategy is to embrace the best of what the NC promises - reduced complexity and cost, the Java programming language, and three tier network architectures - and marry that with the best of the PC - applications and hardware compatibility, a choice of hardware and software, and the rich user experience of PC applications. Through three key initiatives (the Simply Interactive PC, the NetPC, and the 'Zero Administration' Initiative for Windows), we are focused on solving the significant customer issues of cost, ease-of-use, and manageability, without introducing a costly and incompatible new architecture." (Microsoft Corporation)| PC | Network Computer | |
| Operating System | Windows | Proprietary / Incompatible |
| Mobile Support | Excellent | None |
| Applications | > 100,000 | Limited / Incompatible |
| Development Tools | Choice | Limited to Java |
| Device Support | Thousands | Proprietary / Incompatible |
| Device Model | Windows | None / Incompatible |
| Manufacturers | Over 2,500 | Few |
| Networking | Choice | Requires high speed net |
| Availability | Now | Limited |
| Printer Support | Thousands | None |
| Scalability | Excellent | Poor |
- The NC is a stripped down, incompatible PC. The NC fails to leverage the economies of scale present in the industry today. The NC Reference Profile allows vendors to ship with a proprietary bus, peripherals, and CPU architectures-which means that not only is the NC incompatible with the PC today, but the different NC implementations are bound to be incompatible with each other.
- The Network Computing Architecture (NCA) is deficient for solving real customer problems. The NCA (Thompson) assumes that shifting computing power to the server automatically equates to lower costs. Unfortunately, without unlimited bandwidth, high powered servers, and staff to service them the architecture will introduce more problems than it solves: slower response time and poor scalability, for instance. In addition, the NCA is not a viable solution for mobile workers, so up to 70% of mobile workers within corporations are left high and dry.
- Java's success as a programming language does not equate to success as an OS and applications platform. Java Application Programming Interfaces (APIs) today have severe limitations-support for only 4 fonts, no robust object model, no printing, no database access, no management APIs, no 3D graphics, etc. (Boyns) This means more work for application developers trying to develop and test cross-platform solutions. Microsoft's strategy for Java is to deliver the best implementation of the Java programming language and virtual machine, bar none. Today, in fact, the Windows operating systems deliver the fastest and most robust Java virtual machine available, while offering applications developers choices and flexibility.
| Choice and flexibility. The open architecture of the PC has led to a vibrant, competitive market for hardware and software, driving prices down, and functionality up. | |
| The Windows platform. Today more than 100,000 applications are available for Windows. Windows has fostered a rich and competitive applications and tools market by delivering a common, cross platform API and user experience. | |
| Competitive advantage. Cheap, powerful standardized microprocessors (mostly from Intel) have made enabling and empowering technologies practical - like the graphical user interface, natural language interfaces, and speech recognition - which in turn has opened up the benefits of computing to everyone; not just the IT specialist. |
NETWORK COMPUTER VS. PC HARDWARE DIFFERENCES
It's important to understand how the NC and the PC differ. An NC device which is very different from the mainstream PC and will not benefit from the enormous economies of scale inherent in today's PC industry - standardized microprocessors, bus architectures, and devices - and in turn this will drive prices up, making NCs less cost effective. However, NC devices which are similar to PCs will presumably be vulnerable to the same kinds of cost of ownership claims as PCs. And if an NC is similar to a PC, then why would a customer choose to add an incompatible device to the corporate network?The Network Computer Reference Profile
The definitive authority on the NC is the Network Computer Reference Profile, first published in July of 1996 by Network Computing Inc. (NCI), a subsidiary of Oracle Corporation, and endorsed by Apple, IBM, Netscape, Oracle, and Sun at that time. (Thompson) Like the NetPC Reference Profile recently announced by Microsoft and Intel, the NC Reference Profile is intended to define what an NC is. The NC Reference Profile specifies hardware guidelines, and required protocols. NCI specifies the following hardware guidelines - not requirements - in the NC Reference Profile.| minimum screen resolution of 640x480 (VGA or equivalent) | |
| pointing device | |
| text input capability | |
| audio output | |
| persistent local storage (not required) |
| Security: The requirement, or standard protocol, for authenticating individual NCs on the network. | |
| Printing: Presumably in a networked world, nobody will ever have a need for hardcopy again. | |
| Extensibility: No bus architecture is specified, nor any extensibility mechanism. | |
| Operating System: None is specified. |
The Impact of the NC Reference Profile on Design
The NC Reference Profile is a deliberately non-specific document which does not preclude features and functions which are outside the scope of the profile. While the Microsoft NetPC was designed to create a standard platform in order to drive lower Total Cost of Ownership (TCO), the NC Reference Profile specifies an "architecturally neutral" design. This means:| NCs from different vendors will likely not be compatible. There will be a proliferation of hardware, CPUs, and operating systems as manufacturers add new features in order to gain competitive advantage. | |
| Customers who purchase NCs from multiple vendors will need to incur the expense of supporting multiple hardware, and OS implementations. |
NC Hardware Design
Because the NC Reference Profile is "architecturally neutral", there is no standard design for the NC. Multiple, incompatible, proprietary architectures and operating systems from a variety of vendors are referred to as NCs.| Oracle and Acorn Computing have developed a prototype device based on the Acorn ARM processor, and a proprietary OS in ROM. | |
| Sun's platform is based on a special purpose processor - the Java chip - which can only run Java language programs. | |
| The IBM Netstation consists of a proprietary OS in ROM, a PowerPC processor, Internet browser, and several terminal emulators. | |
| Consumer devices, like telephones, and television "set-top boxes" are being built on a further array of incompatible platforms, and the problems are being magnified by the requirements to display data on devices of differing capability. |
THE NETWORK COMPUTING ARCHITECTURE
The Network Computing Architecture (Oracle's name) or the Java Enterprise Computing Architecture (Sun's name) is a three tier model of computing, where data resides on host machines, applications reside on applications servers, and clients (NCs) run only a thin User Interface (UI) layer. The NC is a stateless machine that simply acts as a terminal to run applications and access data on the network. A three tier architecture allowing centralized control is not a bad thing. In fact, Microsoft's "Zero Administration" Initiative for Windows is designed to deliver the best of the PC and the best of the NC - to give the benefits of centrally administered workstations on a corporate network, while preserving the investment in existing PCs. The "Zero Administration" Initiative for Windows also solves performance problems inherent in the NCA by "reflecting" hardware and software state from the PC to the network, facilitating mobile computer usage, and delivering maximum performance to local PCs. Most importantly, this initiative is not tied to a particular hardware platform, which allows customers to benefit on both today's and tomorrow's PCs. Specific features of the "Zero Administration" Initiative for Windows include the following: (Microsoft Corporation)| Automatic system update and application installation. The operating system will update itself when the computer is booted, without user intervention, seeking the latest necessary code and drivers from a server, intranet or the Internet, if available. The Automatic Desktop feature will provide users with all available applications, installing them automatically when invoked. | |
| All state kept on server. Users' data can be automatically "reflected" to servers, ensuring high availability and allowing mobile users to have access to information whether connected to the network or not. Additionally, users will be able to roam between PCs while maintaining full access to their data, applications, and customized environment. | |
| Central administration and system lock down. All aspects of client systems will be controllable by a central administrator across the network. In a few simple steps, the system can be "locked down" to maintain controlled, consistent, and secure configurations across sets of users. The degree of flexibility can be altered on a per-user basis by the central administrator, without having to change hardware and software. | |
| Application flexibility to design the best solutions. A full implementation of the Active Platform - key client and server Internet technologies - on Windows offers the flexibility to deploy both Web-style "thin client" applications and the full wealth of personal productivity and client-server applications. When combined with the lock down feature, administrators will be able to tune the client environment to the exact needs of each user, and be able to change these as business needs dictate. |
- Shifting processing power from the client to the server has a cost. Server CPU cycles cost anywhere from 10x to 100x the cost of equivalent client CPU cycles. Providing equivalent processing power to today's desktop PC from a central host, or server, is a much more costly proposition than simply buying PCs. That is, if a customer wants to centralize data and/or applications on servers, the PC architecture is flexible enough to accommodate their needs.
- User response time in this architecture will be slower. In the scenario where all data and applications reside on servers on the network, bandwidth becomes a critical constraint. On today's networks, applications load 2x to 7x slower when installed on servers instead of locally. Networks will need to be upgraded to at least fast Ethernet (100 Megabytes per second) in order to provide acceptable performance.
- Centralizing computing resources will require additional IT staff to administer those resources.
| Failure of a server impacts every user on the network. When a server goes down, every user dependent on that server for applications or data becomes unproductive until such time as the server is back online. The IT manager is faced with potentially hundreds of unproductive customers versus a single unproductive user. Hardware failure in the NC environment can have catastrophic effect, versus inconveniencing a single user on a PC. | |
| Mobile computing is difficult. Customers have embraced notebook computers with a passion. More than 30% of PCs sold today are mobile form-factor PCs. (The Gartner Group) Penetration in the corporate marketplace is as high as 70%. The requirements of mobile computing are 100% contrary to the requirements of the NC - local hard disk storage, local applications, local machine state, local data. Network computing would return the mobile sales force to the days of notepads, paper order forms, and manual quotes - erasing all of the gains made in the last 10 years. | |
| This architecture is much less scalable than a PC architecture, requiring large investments in both servers and networks in order to increase computing performance. Network performance will not scale well in an environment where each additional user impacts every other user's productivity. | |
| Predictable usage patterns, such as logging in at the beginning of the day to collect mail, or returning from lunch, will require large investments in servers so that these peak usage times can be accommodated. For the rest of the day, however, it's unlikely that the servers will be used at anywhere near capacity. |
THE JAVA VIRTUAL MACHINE
| Windows API (Win32) | Java API | |
| Functional Breadth | broadest API | minimal |
| Maturity / Robustness | yes | version 1.0 |
| Performance | optimized | interpreted |
| Tool Support | the best | immature |
| Language Neutral | yes | no |
Figure 3 Microsoft Java Programming Model Offers Choices
| Limited to a single programming language - there are hundreds of programming languages in the world, each with its own advantages and disadvantages. A computing infrastructure that supports just one programming language restricts choice and forces abandonment of huge amounts of existing code and expertise. | |
| Limited to least common denominator functionality - in order to maintain its cross platform capabilities, Java severely restricts the functionality available to applications. Like every middleware layer, the Java virtual machine can only support the lowest common denominator feature set and still remain compatible with all of the platforms it is designed to be run on. So Sun's standard Java has no support for the right mouse button, no pop-up menus, no clipboard for data exchange, etc. Functionally, applications built on the Sun Java virtual machine and standard API set have only a fraction of the flexibility and capability of Win32-based applications. | |
| Version 1.0 product - Java is an immature product and today has significant issues with robustness, performance and is missing key features customers cannot live without. For instance, like early versions of OS/2 (by IBM), Java does not support printing (perhaps this is a last ditch effort to make the paperless office a reality). Common Windows functionality like database access, security, a component model, management APIs, multimedia, sharing/collaboration, telephony, and 3D graphics is promised sometime in the future. Because basic services are missing, applications developers must do more work to deliver common functionality or wait for system services to be delivered. | |
| Lack of applications - few applications have actually been built for Java. Granted, there are over 3,000 programs listed on the Internet. However, these are almost entirely demonstration or learning applets for programmers to test their knowledge of Java programming. Writing a collection of Java components and applets that could duplicate the functionality of Word, Excel, PowerPoint, and Access is what is known in the industry as a "nontrivial task." |
OPERATING SYSTEM
The final piece in the NC story is the operating system. The NC Reference Profile says nothing about operating systems. Rather, a set of protocols are mandated, and the vendor is free to choose an OS to implement those protocols. Application portability is achieved by requiring that every NC must ship the Java virtual machine. This is in stark contrast to PCs - on the PC the operating system is Windows and Java is one of many development tools. On PCs, developers are not restricted to just Java. Up until today, many vendors have chosen to license the Oracle NC OS. Several other choices are available, however, including NC/OS from SCO (a variant of SCO UNIX), and JavaOS (based on Solaris), from Sun. In fact, Sun has built a special purpose family of processors based on the SPARC architecture for running Java applications natively.Lessons from the UNIX World
Not surprisingly, given the fact that the minicomputer vendors designed the NC, there are a number of parallels between today's NC architecture and the UNIX architecture.| Like the NC, every UNIX system's hardware is different from every other. Operating system components and protocols were supposed to provide the common development platform. | |
| UNIX commonality was based on the X-Windows Interface, the C run-time, and the command shell. In the world of the NC, the Java virtual machine is the equivalent of the C run-time, and Java's Advanced Windowing Toolkit (AWT) is the equivalent of X-Windows. | |
| Since each NC potentially has unique hardware and a unique OS, the implementation of the Java virtual machine for that OS is, by design, different. The virtual machine, for optimization purposes, will need to take advantage of platform specific features. Historically, multiple implementations have always resulted in incompatibilities, and just like the UNIX developer of the 1980's, the Java developer will need to test on every platform. The "write once, run anywhere" of NC promoters is unrealistic. | |
| As NC vendors build competitive advantage by differentiating in hardware, new Java classes will need to be exposed for that hardware. Multiple implementations of the Java virtual machine will occur naturally as vendors adapt the NC for embedded applications, different NC models, and advantageous new features. There will be a natural, divergent evolution of each vendors platform. Software, in this case Java programs, will have to be written specifically for each vendor's platform. |
| Increased cost - heterogeneous networks of devices simply cost more to manage. | |
| Reduced inter-operability - since there is no standard device model, NCs will have incompatible drivers for devices. Without a common driver model, peripheral manufacturers will have to write drivers for every NC implementation. Some NCs in the organization may be incapable of supporting peripherals which others do support. This is very similar to the situation 10 years ago where every word processor and spreadsheet had custom printer drivers because the OS didn't have a standard model. |