According to Andrew Tanenbaum “A distributed system is a collection of computers that appear to its users as a single coherent system. ” (http://www. cs. helsinki. fi/u/alanko/hj/K06/kalvokopiot/ch1_p6. pdf) Almost every current company uses distributed systems connected to servers and even larger databases. Each of these companies connects their organization and its information through local area networks also connected through server farms managed by administrators. Server side operating systems provide the server or database administrator to manage use on different computers that share information.
We use distributed systems to not only make information available on different devices but so that the total system speed is enhanced by the use of multiple processors. Each of those processors is computing individual processes separately so that instead of having one really large set of processors on a server computing commands those same commands are being processed separately on a device that’s almost as fast. At a restaurant that utilizes multiple computers placed strategically throughout the restaurant operate separately but share information on a central server.
The Internet is probably the largest single example of a heterogeneous distributed system available. The difference between a distributed system and centralized is the problem of the information being managed on a central CPU. A CPU no matter how many processors it contains is limited to output a certain amount of information. If you look at it like water or sand through a filter the components have a higher probability of bottlenecking when too much information is attempting to be pushed through. This comes at a sacrifice of either time or incorrect data.
The first problem with distributed systems is scalability. Distributed systems are usually implemented as a solution to a business challenge. For instance, when an issue occurs where the system is taking on too many transactions and needs an increase in speed so as to eliminate freezes the administrator can add the maximum amount of RAM available to the server. The only problem with that is that it’s a temporary solution. The objective of business is continual growth. Therefore the system has to evolve and grow with the growth of the organization.
Problems like these require quantitative solutions that are implemented meticulously. For instance, your software company is adding a quality assurance section to its database. It runs a server farm that supports a large development and production environment but a relatively small testing environment. Your responsibility is to integrate a new testing environment with new software testing tools and that supports a team of quality assurance testers. That systems growth would be exponential and require a project manager and business analysts to do quantitative research.
Your stakeholder will need to know exact numbers of cost and how those implementations would support growth and increased output for the company based on projected growth. Another problem in all information systems is security. The larger the system the more users it supports the more opportunities for malicious intent. Organizations usually spend hundreds of thousands in training employees not to release business intelligence or try to exploit current systems for personal gain.
Database administrators have to utilize a database’s database management system to set up privileged access to certain information on specific devices. Even then there are different ways around getting access to privileged information by hacking or exploitation methods. Another problem arises when a machine in an environment needs be changed because its software or hardware pieces are out of date or broken for other reasons. When one of these machines operations is interrupted the repercussions can be devastating. For instance, if one or more machines fail certain time and protocols for failure detection for each machine is different then each machine could be trying to compensate for the load change. This can result in machines taking inconsistent actions and corrupt data. Furthermore, when a machine is being added and is in need of replication so as not to corrupt data the reimplementation of the new machine has to done carefully. Distributed systems are heterogeneous, interconnected computer systems that provide a solution for a problem where mass process output is essential to business success and a centralized processing unit isn’t feasible.
The Internet being the largest example distributed systems utilize multiple processors to maintain the efficiency and speed of outputted information. We use them for different reasons including multi user support, internal and external organizational access. Distributed systems failures are much more complicated than failures on smaller PCs or centralize systems. Because they function on such a higher level they are more susceptible to failures that could potentially corrupt data causing large organizational problems down the road.