Monthly Archives: December 2002

The PC: Ptolemy and Copernicus – A Cautionary Tale

Not Politically Correct

When you already know that the Sun sits at the centre of the solar system, any other model of the solar system looks insane. However, if you do not know and you have no means other than the naked eye to observe the motion of the planets, the structure of the solar system is not obvious or easy to deduce. Only seven heavenly bodies (Sun, Moon, Mercury, Venus, Mars, Jupiter and Saturn) are visible to the naked eye.

If you assume that the earth is at the centre of all these ‘planets’ and you record the changes in their position on a daily basis, then the planets appear to make very strange orbits around the earth. Ptolemy proposed a model based on such observations to explain planetary motion in about AD 141 and it dominated European thinking for more than a thousand years.

The way that the planets were presumed to move was as follows. Both the Sun and Moon orbited the Earth. Venus and Mercury had orbits that centred on a line drawn from the Earth to the Sun and thus they were always fairly close to the Sun. The outer planets, Mars, Jupiter and Saturn, each revolved around a point that itself orbited the Earth. As Ptolemy had no idea of the relative distances of planets from the Earth, he organised them in relation to their ‘time of orbit’. Thus the Moon was presumed closest, followed by Mercury, Venus, the Sun, Mars, Jupiter and Saturn. The model could have been slightly simpler if Ptolemy had allowed Mercury and Venus to orbit the Sun, but this contradicted the strongly held belief that the Earth was the centre of everything.

When Copernicus proposed a heliocentric model, it was strongly opposed by the Roman Catholic Church, the academic authority of the day. This was understandable. It is very difficult to explain the order of creation laid out in the book of Genesis in heliocentric terms. According to Genesis, creation occurred in the following order: Light, Earth, land and sea, plants, then Sun, Moon, planets and stars. It was a biblical ‘fact’ that the earth was at the centre and an article of faith that ‘the earth does not move’. The heliocentric view was seen as subversive, heretical and almost blasphemous.

Heliocentric was politically incorrect.

Copernicus neatly avoided the wrath of the church by delaying publication of his ideas until his death, but Galileo was less fortunate. When he wrote his now famous Dialogue, arguing the Copernican view, he was put on trial by the noble gentlemen of the inquisition and condemned to life imprisonment for “vehement suspicion of heresy.” The sentence was later commuted to house arrest, but his Dialogue was banned along with all his other published works. The Copernican model was accepted when it became obvious that the Ptolemaic model could no longer stand. Galileo’s telescope destroyed the Ptolemaic model – not rational argument.

The Tail Wags The Dog

There is a similar conflict to this taking place in the IT world. The conflict is between the distributed model of computing and the centralised model of computing. However, it has not yet become the subject of a ‘political’ debate. The two models came into existence primarily because of market pressures. The early years of computing were devoted to the evolution of the mainframe. A centralised approach was the only possible approach because computing resources were scarce and had to be rationed amongst the user population. As the power of CPUs increased and the cost of CPU chips fell, the PC emerged, providing a devoted resource to the individual user.

The PC market grew dramatically, very quickly turning into a mass market. The IT industry concentrated its efforts on providing products for this market and the investment in centralised computing waned. As PCs were connected together within organisations, the distributed model of computing came to the fore and quickly assumed a PC-centric character. The PC became the centre of the IT universe.

These two models of computing are distinctly different. The centralised model sees the corporate network as a single resource space that needs to be managed centrally. The distributed model views the corporate network as a series of equal domains that interact in a peer-to-peer manner, with each domain managed locally. In its most extreme form, the distributed model becomes entirely PC-centric. Applications are seen as belonging to the PC with the rest of the network revolving around its operation. To add capabilities that cannot reside on the PC you add new servers (database servers, intranet servers and so forth). The PC becomes a domain in its own right.

Ptolemy’s Curse

Simple parallels can be drawn between the PC-centric approach to corporate computing and the Ptolemaic model of the solar system. Both place the wrong object at the centre of the system and both become less and less coherent as the size of the whole system increases.

The PC put the user in control of his own domain. To a certain extent he became his own IT department with a degree of freedom to manage his domain and even choose or develop his own software. However, the task of management was onerous. Software and data needed to be backed-up and where problems occurred the user had to recover the situation. To add to the problem, the PC environment was not static. Increases in CPU power led to regular hardware upgrades. PC applications had regular software upgrades. Further problems emerged with the advent of computer viruses (a PC phenomenon). There were standardisation problems, there were security issues, and the cost in both time and money was high.

The benefits that the PC delivered to the corporation were indisputable: word processing, spreadsheets, presentation software, PC databases and so forth – the office productivity applications. However, these applications did not integrate well, if at all, with server oriented applications. The cost of PC computing may have been high, but it was concealed. Few organisations even attempted to account for the user’s ‘PC management time’ or learning time. Few thought to put a cost to the lack of standardisation, or lack of availability.

Part of the software industry thrived on providing solutions to problems that existed entirely because of the PC-based approach to computing: virus checkers, file converters, uninstallers, disk defragmenters and so forth. Such utilities soon became necessary in the corporation to assist the user in managing the PC domain. Software development became PC oriented and client/server development products that were PC based prospered (SQL Windows, PowerBuilder, Visual Basic, et al). Problems quickly followed – applications didn’t scale and many developments had to be abandoned. While the vendors promised to improve their products, new products emerged to solve the problem generated by the PC based approach (Forte, Nat Star, SNAP, Elements, et al). It all added up to lucrative business for the software industry.

The Ptolemaic model of the solar system provides a parallel to some of this. The supporters of the model had difficulties in accounting for the exact orbits of the planets and explaining why they moved in such a way. In order to deal with these difficulties, they formulated the concept of the ‘primum mobile’ – an invisible body that caused the awkward motion of the planets. The primum mobile was a solution to a problem that existed entirely because of the Ptolemaic model.

Expand the Ptolemaic model and you run into further problems. Trying adding moons to Mars, Jupiter and Saturn. Try accounting for the phases of Venus. The Ptolemaic model does not scale.

Ptolemaic Tendencies

PC-centric computing within the corporation is in decline. Most of the organisations that made a virtue of PC computing have retreated to a more sensible regime that involves a balance between empowering the user and managing the network. However, in doing this they have not usually adopted a centralised approach – they have continued with a distributed one that de-emphasises the PC a little bit.

At the moment, distributed thinking still dominates. The debate between centralised and distributed computing has only just started. There are a number of reasons for this.

Historically, the centralised approach was abandoned when the IT industry proved unable to keep pace with the demand for processing power. The largest and most powerful mainframes proved unable to satisfy all the requirements of large organisations. Even before the PC took off it had become necessary to fragment the computing environment. A centralised approach to computing was impossible to sustain because communication lines between computers were not fast enough to support it, so a distributed regime ensued by default.

The centralised approach entailed commitment to a single computing platform and hence a prime vendor. Vendors, particularly IBM, held monopoly positions and exploited them. Many customers deliberately fragmented their computer infrastructure in order to keep the prime vendor honest. The idea of ‘open systems’ swept the industry. This mitigated in favour of distributed systems.
Innovation and technology advances happened primarily in the area of distributed computing, making it increasingly difficult to adhere to a centralised approach. The success of the PC was the deciding factor. The PC market was vibrant and could not be ignored. It soon began to dominate the industry. Distributed thinking became a habit.

Distributed peer-to-peer processing is now a necessity in many situations because of the computing infrastructure that most organisations have installed. Having established itself as the norm, it now dominates by momentum.

Until recently, there was no alternative.

The alternative emerged with the advent of Java and continued with the introduction of the network computer.

A Copernican approach suddenly became possible again. These developments have prompted a battle in the market place. The commercial contest is depicted in the press as having Microsoft on one side of the argument and some combination of Sun, Oracle, Netscape and IBM on the other. However, we do not see it that way. Ptolemaic thinking is evident in all of these vendors. Not one of them promotes a completely centralised approach in thought, word and product. In particular, there is a tendency to resolve PC-centric problems by creating LAN-centric ones. Instead of adding PCs in an arbitrary and uncontrolled manner, many IT sites are letting middle-tier servers proliferate in this manner.

So far, the argument for the NC (Network Computer) has centred around the cost of PC ownership, not the inherent cost of distributed computing. The debate surrounding Java has been about its suitability as the language for building intranet and Internet applications, not about its role as a vehicle for centralised computing. No debate about the relative merits of centralised and distributed computing has taken place and it is possible that it will never will – even though this is where the real conflict lies. Thus, it is possible that success in the market place will determine the outcome – not rational debate.

Nevertheless, the PC in its current form will not survive in the corporation. The PC tail has been wagging the dog. The time is approaching when the dog will wag the tail.

The Copernican Vision

The Ptolemaic and Copernican models of the solar system provide an appropriate analogy for the difference between distributed and centralised computing. The centralised model of computing envisages a single central configuration forming the hub of the system, like the sun itself in the heliocentric solar system. All other computers in the corporate network are fed by the central configuration and are dependent upon it.

The basic tenet is that:

The central configuration is the prime source of all data and all processes and they are distributed from this point.

Thus, the centralised view sees the corporate computer network as a single resource space, with data and processes being distributed from a central machine onto other machines in the network. In many installations this is not yet technically practical and hence to implement it, a ‘virtual central machine’ needs to be configured by coupling together high powered servers. However, the outcome is the same: the whole network is managed in all respects from a central point.

Investing in Cache

Rather than thinking in terms of locating data and processes on specific machines within the corporate network, the centralised model thinks in terms of caching. Caching is a computer activity whereby some data or a process is moved to another resource. This is usually done for the sake of improving performance. Thus, frequently used data is cached into memory from disk to improve speed of access, data and program instructions are cached onto the CPU chip to improve execution speed and so forth. When caching takes place, some data or process has been duplicated and the computer must ensure that the copy and the original remain in step with each other.

In the centralised model, everything (all data and programs) resides in one place and is moved over the network when required for use. The process is identical to the process of caching. This is illustrated on the opposite page, showing three hardware tiers (a central machine, departmental machines and desktop machines). When and how data and programs are distributed is a matter of logistics.

They may be distributed when they are requested for use, or copies may be ‘permanently’ located on some nodes of the network. The strategy adopted for any given application or service will depend upon where the users are located, the capability of the network and the size of the application and its data. The ideal is to have a single large central machine surrounded only by desktop devices (PCs and network computers). We accept that at the moment this is unlikely to be feasible in most sites.

The Centralised Model

With the centralised approach, the natural strategy is to add nodes of the network where capability is required. For example, an extra node might be added to implement a volume printing capability or intranet services or a data mart. Extra nodes are added to provide or improve specific services, guaranteeing a specific service level to the users. Naturally, desktop hardware provides the specific service of implementing the user interface.
Where bandwidth and application design permits, applications can be split across the network in a client/server fashion. Alternatively, Java-based applications could be deployed in an intranet manner. The major advantage of the centralised approach is that it provides flexibility. The network is managed from a central point as a single resource space, and it can be reconfigured when new hardware is added to take maximum advantage of the new resource.

It soon becomes clear that the middle hardware tier is not ‘departmental’ at all. It does not belong to any specific department within the organisation, but is available to all applications that can utilise it. Indeed, this is the nature of every component of the corporate network in the centralised model.

A House Divided

The distributed approach to the corporate computer network involves providing computing domains either for different departments within an organization or alternatively for specific applications. The result is either a peer-to-peer arrangement of computing resource or a hybrid of centralized and peer-to-peer operation.

The characteristics to note are that each node of the computer network has some responsibility for its own management and has a degree of independence. There is no central server, only a ‘central server space’ with a number of servers that provide capabilities to the whole of the network. Departmental severs provide specific services to specific groups of users, such as file and print sharing. Desktop devices such as PCs provide individual services to individual users. Applications can span all three layers in a client/server manner.
Elements of centralisation inevitably creep into this model. For example, the back-up of data may be centralised, the deployment of some applications may be centralised and so forth. Without this, the management of the whole network becomes more and more troublesome the larger it grows.
The major problem of the distributed approach is that it views the network as a collection of interconnected peer-to-peer resources. Distributed networks often arise because individual requirements are addressed by implementing local solutions without any thought for the overall impact on the computing resource. This becomes clear when we consider the global capabilities of a network:

  • Standardisation: By empowering local domains, standardisation can and usually does suffer. This can happen in every area of software and hardware, making it increasingly difficult to provide global services of any kind.
  • Security: Security breaches can put the whole network at risk, so a global policy for computer security is highly desirable. It has many aspects, from protection against virus infection to prevention of unauthorised access of any kind. In a distributed system the local security capabilities and features of each domain are likely to be different, so implementing a single security regime becomes difficult. Unfortunately, the network is only as secure as its least secure interface.
  • Performance and Availability: Different applications require different service levels. However, different computing domains are likely to offer different performance capabilities and different availability characteristics. For example, if an application demands 100 percent availability, it simply cannot be implemented across servers that do not provide this. Thus the ability to deploy applications flexibly across the network is constrained. The purchase of hardware to implement specific applications inevitably leads to compromise in the global service level that a network can provide.
  • Recovery: By allowing local domains to choose and implement their own software, you generally end up with both a mix of products and varying recovery capabilities for applications. This becomes problematic if there is any attempt to implement enterprise wide applications by integrating applications together. A single service level is unachievable.
  • Back-up and Archive: The same problem of fragmentation emerges in the area of back-up and archive. Unless a single global policy is implemented, computer users will not enjoy a consistent service in having data restored. Even the operational aspects of back-up and data archive become difficult to manage without a centralised approach.

The Distributed Model

  • Supportability and Maintainability: All the management aspects of the network become more troublesome in a distributed environment. The existence of multiple regimes and multiple software products complicates the management task, demanding greater skill, knowledge and effort from the operational and support staff.
  • Efficiency: Finally, a distributed approach introduces inefficiencies in almost every area of computer operation. Shared computer resources constitute the engine of the computer network. They need to be collectively managed to deliver the maximum workload. If they operate as separate domains, their activity cannot be optimised. With the distributed approach, economies of scale are squandered.

By definition, global capabilities do not belong to components, but to the network as a whole. They can only be implemented via a centralised approach. Note that we are not condemning distributed computing, we are simply pointing out that it provides a very poor foundation for a corporate computer network. While its initial costs may be lower, its overall cost is far higher.

Restoring The Balance

Mao Zedong (Mao Tse Tung) initiated ‘The Great Leap Forward’ in 1958 in an attempt to rapidly modernise China. Increasing the production of iron and steel was a priority and a distributed approach was implemented, with small backyard furnaces being built in every village. In farming, a centralised approach was pursued with huge collective farms being created. The whole initiative turned out to be a great leap backward. The endeavour was a fiasco and the policy abandoned. Exactly the wrong idea was used in both areas. Heavy industry needs to be centralised. Peasant farming is more efficient if left to operate in smaller units.
In a similar way, but driven by the IT market rather than ideology, corporate computing has been implementing exactly the wrong policy. However, distributed computing has its areas of useful application and it will not disappear. While organisations move towards the re-centralisation of computing, electronic interactions between organisations will tend to operate in a peer-to-peer distributed manner. While a centralised approach to the corporate network is highly desirable, it will be sensible to control some of the activities within a corporate network in a peer-to-peer manner.

The proper balance now needs to be restored. It will not be restored simply by the wholesale adoption of network computers. Neither will it be restored by the adoption of Java for software development, nor by the setting up of intranets. It can only be restored by the adoption of a well considered centralised software and hardware architecture and its implementation using proven technology.

Posted in Commentary | Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , | Leave a comment

What is the Fifth Revolution?

If we look at the history of computing we can think in terms of there having been four waves of computing, or “revolutions”. The first revolution was characterized by the appearance of the computer itself and mainframe computing. This was all about batch processing, with input via paper tape and punched card and output printed on continuous paper. The word “mainframe” stayed with us although the computers to which it first applied have long since vanished.

The second revolution was that of the minicomputer. What changed was that input was via terminals or VDUs (Visual Display Units) as they were called and output could be to the same devices. In other words, for the first time we had interactive computing. The third revolution brought us the PC. Now input was via a graphical interface with the aid of the mouse as well as the keyboard. This delivered computing power to the individual for the first time and launched a whole clutch of personal applications.

The fourth revolution brought us the internet. All of a sudden the user interface detached itself from the hardware a users had, in the browser, a common user interface providing access to a huge information and processing resource which was cleverly threaded together by the use of the hyperlink.

So what is the fifth revolution?

The fifth revolution is the wireless revolution. Just like the previous revolutions, it will dramatically alter the way that business is done and it will change the face of computing. The defining fact about wireless devices is that they are mobile – you carry them with you. In effect, a mobile device provides access to the individual rather than to a specific location. This is illustrated by the first informational explosion in mobile telephony; the use of SMS messaging. The massive usage of SMS took the mobile phone manufacturers and the carriers completely by surprise.

The simple capability of being able to send a text message by a mobile phone was not, to my knowledge, ever predicted to be a killer application. However it is. It neatly combines the function of the mobile phone and the pager and it is not expensive. Its compelling nature only began to become apparent when statistics from Finland last year showed that 50 percent of the mobile phone traffic in the country was SMS messages. The explanation for this was simply that young mobile users were using a less expensive way of sending information than making a call. The mobile phone manufacturers were not slow to see the potential and pretty soon mobile phones started to appear that improved the speed at which messages could be entered (by guessing which words the user was trying to enter). The latest statistics seem to indicate that the average teenage user sends about ten messages per day.

By any reasonable comparison, WAP has been far less successful. Indeed all I ever seem to hear is how disappointing it has been. Nevertheless we should suspend our skepticism for a while. Let us look at this from a distinctly different perspective. Let me suggest that what is happening with the mobile phone is that it is gradually replacing the PC as the natural and pervasive personal information device. Admittedly it has a long way to go yet, but when the PC first appeared it had a long way to go and it went the distance.
The real killer application of the mobile is the phone call. PCs still cannot do this in a generally acceptable manner (voice over IP is still not mature) and perhaps they never will.

What is happening is that the full spectrum of possible transactions is gradually being added to capabilities of the mobile phone. After conversation, came SMS messaging which is a primitive form of email. This will get more sophisticated and it will do so more quickly than many might expect. WAP is the beginning of  being able to process transactions. When the display capability gets larger (at least to the size of a PDA display) web site access will become feasible and so will video. We can envisage this as being the forward evolutionary path of the wireless device.

We could view the evolution of the PC in a similar way. First it provided its unique personal capabilities and then it began to assume the transactions of multi-user computing. In doing so it began to marginalise the capability of minicomputers. In a similar way the mobile device will marginalize the PC and gradually assume many of its roles, but the base from which it achieves this will be the unique capabilities that it has.
These unique capabilities come down to two obvious things, its wirelessness (i.e. its ability to reach the individual direct) and its voice capabilities.

If we wanted to get academic about the various changes in computing then we could argue that the various revolutions correspond to clear and significant changes in the user interface, from paper to character based terminals to graphical interface to browser. As well as new application types, the fifth revolution will undoubtedly bring with it a new kind of interface, which goes beyond the browser. In the next article in this series we will discuss the new application types and in the following article we will discuss what the nature the new user interface might be.

Posted in IT Trends | Tagged , , , , , , , , , , , , , , | Leave a comment