Grid computing originated as paradigm for high performance computing and massive parallel processing. Currently, Grid systems have become an important paradigm for efficiently solving large scale complex problems from many fields. On the other hand, P2P paradigm originated from file sharing but each time more is being used for the development of large scale distributed platforms. Grid and P2P systems have thus followed different trajectories pushed by different motivations, needs and research communities. Yet, both paradigms are evolving in a way that each time more they are sharing common characteristics and are mutually benefiting from their best features. Among these characteristics, we could distinguish the cooperative model for solving complex problems by exploiting the large computing capacity offered by the nodes of the system altogether. As such, Grid and P2P systems have achieved notable success, in particular, for e-Science applications, a family of complex applications arising in science and engineering that need considerable computation power.
Despite of important advances in the design and use of Grid and P2P systems, they remain still difficult to implement and apply to real life problems. The main difficulties reside in the lack of easy-to-use middleware for Grid and P2P, in the complexities of setting up and in the tedious task of deploying real world Grid/P2P platforms as well as in experimental studies which are often complex and not easy to repeat. In this chapter we survey and analyze the advances in communication libraries and middleware for both Grid and P2P systems as well as their limitations when used in real Grid and P2P infrastructures. We also bring examples of real life applications based on regularly sequenced data that can be efficiently handled through Grid and P2P approaches.