An interesting response to my column on the importance of naming and defining the nature of the new computing environment comes from Marc R. Erickson, the Project Manager at IBM's Embedded Systems Group in Research Triangle Park, North Carolina.
For perspective, let me mention that I favor the terms “net-centric computing” and “embedded net-centric computing devices.” These terms describe the structural change that is occurring and the kinds of devices now being built. Marc, on the other hand, suggests that terms such as “service computing,” “web service computing,” or “service-based computing” will be much more appropriate to the emerging web-services-based, net-centric environment.
IBM has come up with its own name for the kinds of platforms I call net-centric computing devices or what others call information appliances. It uses the term “pervasive computing device (PvC).”
Marc's thought is that a term more specific to the changes that are currently occurring is needed. His argument is that the defining characteristic of the new web services being promulgated by the likes of Sun Microsystems Inc. with its open network environment (ONE), Microsoft Corp. with .NET and IBM Corp. with its application framework for e-business (AFeb), is not just pervasive connectivity.
Rather, it is a shift to a server-based “services computing.” Web services involve more than just the traditional client/server model, one in which the application might be resident on both or several clients and servers distributed through out the Internet. A word processing company in this environment would sell not just a program for this function but provide services by which a customer on a very thin client could write a file that would be stored either locally or on the server. In this environment Microsoft's revenue stream, for example, would not come from selling software, but from selling the services that the software makes possible, downloadable or accessible from a server.
What will be the impact on computing from the perspective of the embedded developer? Well, on the hardware side, if the majority of the application is to be performed on the server, the nature of the computing job on the client will change. The processor may not have to be as powerful a data processor as one can get in the constrained environment of a handheld device. But it will have to be much better at moving data into and out of the net-centric iAppliance, for example.
On the server, the processor will be much different. Instead of a uniprocessor or a simple multiprocessing scheme of four or so CPUs, the server environment may be a much more complex multiprocessing environment. And instead of a relatively loosely coupled multiprocessor design, there may need to be a shift to a more tightly coupled approach. In this environment, high bandwidth multi-gigabit-per-second connections between processors, such as is proposed with Infiniband, will be even more important in future Internet data centers.
Web services may also change the way software development tools and other support software are delivered and used. Embedded software providers such as Applied Microsystems Inc., Green Hills Software or Wind River Systems, Inc., may still sell shrink-wrapped versions of its tools on a per-seat charge basis. But a much larger portion of their profits conceivably could come from providing Web services that make use of their tools to aid developers in writing, compiling and debugging code during the development process.
An even greater revenue stream could be generated by employing the tools presently used during the development stage and deploying them into the field for use on a variety of net-centric devices and systems.
Companies in the embedded space are already emerging to provide such services, but none of them are among the main players in the present embedded software development tool business. They include companies such as NextNine, previously called RTView Ltd., which provides ways to remotely instrument the operating system and the applications that run under it. Customers can either purchase the tools or the service that allow them to spot errors and glitches in the field that are not repeatable in the development lab, and then track, debug and correct them.
What do you think about Marc's suggestion of the terms “service computing,” “web service computing,” or “service-based computing”? What are your alternatives? How are you taking advantage of this trend? What are the problems you see with this view, both as it impacts general consumer computing and embedded control? Do you have some alternatives of your own that help you make sense of the chaotic market changes through which we are all going?