Adaptability for Scalable Distribution

From COMMDP
Jump to: navigation, search
Next: Reliability | Return to Qualities of Communication Protocols

ACPs can support scalability by providing location transparency and/or replication transparency,[1] and by allowing resources (data, operations, or objects) to be distributed across multiple hosts. To understand location and replication transparency, consider a website with a large number of resources. It can support scalability by placing the various resources on an expandable collection of backend servers and use a front-end server to distribute requests from browsers. If the browser doesn’t need to know where a resource is actually located, then the system supports location transparency. Similarly, as traffic increases, the system could replicate resources across multiple backend servers. If the client doesn’t have to know that replicas exist, then the system supports replication transparency. Both location and replication transparency simplify scalability.

Another technique for supporting scalability is allowing complex resources to be broken up into smaller resources and distributed across multiple servers. One approach for doing this is to untangle cross-cutting concerns, like security or logging, from complex operations and host these pieces of functionality on proxies.[1][2]

Here is a simple rubric for the adaptability for scalable distribution.

Rank/Criteria

3. The problem (P) addressed by the pattern is primarily concerned about scalability or the distribution of action or resources and the solution (S) can provide two or more of following:

  • a. Location transparency for shared resources distributed across multiple hosts
  • b. Load balancing with shared resources replicated across multiple hosts
  • c. Untangling of cross-cutting concerns into separate actions

2. P is concerned with scalability or distribution of resources and S provides at least one (a), (b), or (c).

1. P is not concerned with scalability or distribution and S doesn’t limit them.

Next: Reliability | Return to Qualities of Communication Protocols

References

  1. 1.0 1.1 G. Coulouris, J. Dollimore, T. Kindberg, and G. Blair, Distributed Systems: Concepts and Design, 5 edition. Boston: Pearson, 2011.
  2. M. Voelter, “Patterns for Handling Cross-cutting Concerns in Model-Driven Software Development,” in ResearchGate, 2005.