Reasons For Distributed Computing

There are several sound reasons for applying DistributedComputing. Let us collect them: --PeterSommerlad


I see LicenseSharing? indeed as a special case of ReUseFunctionalityOrData?. I think it is thin ice, because of the legal issues addressed. Have you ever really read and understood any license contract? --PeterSommerlad

Licenses vary but many specify the maximum number of simultaneous users. Most also explicitly deal with middle tier use. This is a common approach for lightly used but widely useful applications.


I think that is not a ReasonsForDistributedComputing but a result from DistributedComputing. You will only get this problem if you already have a distributed system. You might look at the ProxyPattern in PatternOrientedSoftwareArchitectureOne to get a complete discussion of it. --PeterSommerlad

I think this depends upon whether you consider terminal servers, 3270s, and web pages as computing or data entry. These primarily collect data and ship it back to a central source for computation. One of the forces for distributed computing was to push computations and even simple data validation back to the user.

I think even 3270s, vt100s and web browsers to be some kind of computers. At my military service at the Deutsche Luftwaffe we did incredible things with escape codes and vt100s that interpreted the codes and did many things with the cursor and character you wouldn't have expected. I cannot claim that I proved equivalence to a turing machine in computing capabilities, but it comes close and is domain specific. Pushing validations etc to the user is useful if latency, bandwidth and central computation power is so bad that local computation at the user's site increases user happiness. (see above reasons) However, if the central system cannot absolutely trust the remote validation (which is true in all Web clients today), then the validation has to be done twice, on the user's site and on the central computer's site. So there is a threshold where it makes sense to distribute computation power to the client. For example, the current mySap.com implementation is almost a complete SAP client written in JavaScript. This is heavyweight stuff with a mechanism never intended for such big things. IMHO the border of reasonable things is crossed here. --PeterSommerlad


Please choose a definition DistributedComputing. Academically, distributed computing is the distribution of a single task over a set of interconnected computers with independent clocks and storage (ala http://distributed.net). In the industry, DistributedComputing is pretty much networking, ala several workstations requesting data from a centralized database, which is hardly a distributed application. Things like DCOM, MobileAgents, etc. add more dimensions to this, however, but not quite the "single mind, many minds" idea of the academic version.

Let's not force a distinction here, nor assume any simplicity about networking. Using more than one machine to get some job done, or having more than one user at the same time, for any machine is always going to be difficult.


EditText of this page (last edited March 29, 2004) or FindPage with title or text search