Distributed Applications come in a wide range of sizes, usages and resource availabilities.
What is a Distributed Application?
A perfect example of a Distributed Application is a multiple node database application such as Cassandra, HBase or Serengeti. These applications make use of multiple instances of themselves to be able to address vast amounts of data are stored across many networked computer systems.
This provides the ability for fault-tolerant issues to be resolved immediately as well as for massive amounts of data to be stored without reaching individual machine resource constraints.
How do they communicate?
Usually, communication is performed by means of either TCP or UDP packet transfer.
In the case of the ADD (Autonomous Distributed Database) system, as introduced earlier, data and other communications are transmitted through HTTP, which goes through the TCP/IP protocol.
What is the maximum potential?
While most applications have their limitations, this is also true of Distributed Applications.
Each node has the ability to connect to a single IP address on each subnet, with a total of 255 nodes each, if including the gateway address itself. Therefore a natural limit of 254 connections is more common.
In additional studies, it has been received that subnets can also be joined to perform a multi-subnet distributed cluster. Essentially creating a seemingly infinite amount of resource to be added.
Can resources between instances be shared?
The goal of a Distributed Application is to be able to share resources so that the network can work in unison with all registered nodes. Together this creates the potential to remove the limitation of upper bound limitations found in conventional applications and database systems.
Software applications have become complex and intricate pieces of engineering that allow for extensive additional thought and increased development.
Take a look at the Autonomous Distributed Database for more information on this subject.