Since the advent of Internet andWorld Wide Web (WWW) technologies in the mid-1990s, we have witnessed the explosive growth of distributed applications ranging from business applications, such as e-commerce, financial services, and healthcare, to engineering and scientific applications, such as industrial automation, event detection, and biomedical diagnosis. There are two forces driving this growth: the availability of multiple distributed system models and the development of different types of parallel programming techniques. The availability of several distributed models enables system developers to consider the best approach to address requirements specific to a user. Parallel programming techniques allow developers to customize the parallelization scheme to address a specific problem and to a develop system or application software that is deployable and scalable with the expansion of data. Significant attention should be paid to the distributed system models and programming techniques used to develop Internet-scale pattern recognition schemes in distributed applications. These aspects ensure the scalability and efficiency of the recognition schemes when processing large-scale and complex data. In this chapter, we will discuss the two forces driving the expansion of

distributed applications for Internet-scale environments. We will present examples of distributed models and parallel programming techniques that are commonly used in distributed applications development.