Distributed computing is a model in which components of a software system are shared among multiple computers. Even though the components are spread out across multiple computers, they are run as one system. This is done in order to improve efficiency and performance.
In a narrow form, distributed computing is limited to programs with components shared among computers within a limited geographic area. Broader definitions, however, include shared tasks as well as program components. In the broadest sense of the term, distributed computing just means that something is shared among multiple systems, which may also be in different locations. Distributed computing may also require a lot of tooling and soft skills.
How distributed computing works
In enterprise settings, distributed computing has often meant putting various steps in business processes at the most efficient places in a computer network. For example, in the typical distribution using the 3-tier model, user interface processing is performed in the PC at the user's location, business processing is done in a remote computer, and database access and processing is conducted in another computer that provides centralized access for many business processes. Typically, this kind of distributed computing uses the client/server communications model.
The Distributed Computing Environment (DCE) is a widely-used industry standard that supports this kind of distributed computing. On the Internet, third-party service providers now offer some generalized services that fit into this model.
Grind computing and distributed computing
Grid computing is a computing model involving a distributed architecture of large numbers of computers connected to solve a complex problem. In the grid computing model, servers or personal computers run independent tasks and are loosely linked by the Internet or low-speed networks. Individual participants may allow some of their computer's processing time to be put at the service of a large problem. The largest grid computing project is SETI@home, in which individual computer owners volunteer some of their multitasking processing cycles (while concurrently still using their computer) to the Search for Extraterrestrial Intelligence (SETI) project. This computer-intensive problem uses thousands of PCs to download and search radio telescope data.
There is a great deal of disagreement over the difference between distributed computing and grid computing. According to some, grid computing is just one type of distributed computing. The SETI project, for example, characterizes the model it is based on as distributed computing. Similarly, cloud computing, which simply involves hosted services made available to users from a remote location, may be considered a type of distributed computing, depending on who you ask.
One of the first uses of grid computing was the breaking of a cryptographic code by a group that is now known as distributed.net. That group also describes its model as distributed computing.